Java收发邮件过程中具体的功能是怎么实现的
SMTP协议
用户连上邮件服务器后,要想给它发送一封电子邮件,需要遵循一定的通迅规则,SMTP协议就是用于定义这种通讯规则的。
因而,通常我们也把处理用户smtp请求(邮件发送请求)的邮件服务器称之为SMTP服务器。(25)
POP3协议
同样,用户若想从邮件服务器管理的电子邮箱中接收一封电子...[2018/10/15]
Java ArrayList的底层实现方法
如下所示:
package com.soto.collection;
/**
* 自己实现一个ArrayList,帮助我们更好地理解ArrayList的底层结构;
* @author 王
*
*/
public cla SxtArrayList {
pr...[2018/10/15]
对Java ArrayList的自动扩容机制示例讲解
注意:
不同的JDK版本的扩容机制可能有差异
实验环境:JDK1.8
扩容机制:
当向ArrayList中添加元素的时候,ArrayList如果要满足新元素的存储超过ArrayList存储新元素前的存储能力,ArrayList会增强自身的存储能力,已达到存储新元素的要求
Arr...[2018/10/15]
对ArrayList和LinkedList底层实现原理详解
1、说一下 ArrayList 底层实现方式? ①ArrayList 通过数组实现,一旦我们实例化 ArrayList 无参数构造函数默认为数组初始化长度为 10 ②add 方法底层实现如果增加的元素个数超过了 10 个,那么 ArrayList 底层会新生成一个数组,长度为原数组的 1.5 倍+...[2018/10/15]
微服务领域Spring Boot自动伸缩的实现方法
前言 自动伸缩是每个人都想要的,尤其是在微服务领域。让我们看看如何在基于Spring Boot的应用程序中实现。 我们决定使用Kubernetes、Pivotal Cloud Foundry或HashiCorp's Nomad等工具的一个更重要的原因是为了让系统可以自动伸缩。当然,这些工具...[2018/10/15]
Java IDE的历史变迁及idea的使用
Java开发工具的历史变迁 JCreator Jcreator是荷兰的Xinox Software公司开发的一个用于Java程序设计的集成开发环境(IDE),该公司成立于2001年; 官方网站:http: www.jcreator.com/ JBuilder JBui...[2018/10/12]
Java日常错误及需要注意细节,持续更新......
记录日常工作中一些容易被忽视的错误及细节,持续更新......
一、问题:HashMap<Long, String>中,用get(Integer key)取不到值
Map<Long, String> map = new HashMap<Long, ...[2018/10/12]
springboot之mybatis注解形式
springboot整合mybatis对数据库进行访问,本实例采用注解的方式,如下:
pom.xml文件
<parent>
<groupId>org.springframework.boot</groupId>
&l...[2018/10/12]
Java 中 ThreadLocal的基本原理
1. ThreadLocal是什么 ThreadLocal提供线程局部变量。这些变量与普通的变量不同之处在于,每个访问这种变量的线程(通过它的get或set方法)都有自己的、独立初始化的变量副本。 ThreadLocal实例通常是希望将状态关联到一个线程的类的私有静态字段(比如,use...[2018/10/12]
java绘图合并图像AlphaComposite模式测试java绘图合并图像AlphaComposite模式测试
package com.hdwang.test;import javax.swing.*;import java.awt.*;import java.awt.event.*;import java.awt.image.BufferedImage;i...[2018/10/12]
Appium+java 获取元素状态
元素的属性我们经常会用到,当定位到某个元素后,有时会需要用到这个元素的text值、cla Name、resource-id、checked等。
一般标准的属性我们都可以通过get_attribute(“属性名称”)来获取,我们来看看下面截图的元素都是怎么获取的吧。从上到下来看。
我们...[2018/10/12]
MySQL之SQL优化实战记录
MySQL之SQL优化实战记录背景 本次SQL优化是针对javaweb中的表格查询做的。部分网络架构图 业务简单说明 N个机台将业务数据发送至服务器,服务器程序将数据入库至MySQL数据库。服务器中的javaweb程序将数据展示到网页上供用户查看。原数据库设计 windows单机主从分...[2018/10/12]
做JAVA开发的同学一定遇到过的爆表问题,看这里解决
欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~
本文由净地发表于云+社区专栏
记一次Java线上服务器CPU过载问题的排查过程,详解排查过程中用到的Java性能监测工具:jvisualvm、jstack、jstat、jmap。
背景:Java线上服务运行一周后,某个周六晚...[2018/10/12]
jdk基础之Object类getClass()方法
转自https: www.cnblogs.com/melburg/
java反射学习
所谓反射,可以理解为在运行时期获取对象类型信息的操作。传统的编程方法要求程序员在编译阶段决定使用的类型,但是在反射的帮助下,编程人员可以动态获取这些信息,从而编...[2018/10/12]
jdk基础之Object类hashCode()和equal()方法
转自:http: www.iteye.com/topic/257191
一个对象的hashcode是用来干什么的?
只有用到Hashtable、HashMap、HashSet、LinkedHashMap等时才要注意hashcode,其他地方hashcode无用。
为什么hashSet要用ha...[2018/10/12]
(六)加密的字段类型入库
在(一)敏感信息混淆中处理了加密字段,但如果要把这个加密字段使用mybatis入库,则会报以下错误:
Caused by: java.lang.IllegalStateException: Type handler was null on parameter mapping for prope...[2018/10/12]
线程通信
1. wait / notify
要想执行 wait() / notify() / notifyAll() 这些方法,必须首先获得对象的监视器
换言之,这些方法必须在 synchronized 中执行
package com.example.demo22;
...[2018/10/12]
Idea导入git项目后运行找不到或无法加载主类
描述:run找不到或无法加载主类,注解下划线飘红。
原因:未知。
解决:删掉项目重新导入。[2018/10/12]
IDEA run下output标签悬浮/弹出状态
就是这样,在哪儿有一个恢复布局标签
[2018/10/12]
乐观锁和悲观锁
一、什么是乐观锁和悲观锁
乐观锁和悲观锁主要使用在并发的情况下,在多个事务中共同访问同一个数据库资源,为了避免因为同时访问造成的数据操作错误而产生。这里从两方面说,第一指的是数据库,第二是java.
数据库中的乐观锁和悲观锁
乐观锁,主要强调的是每次取数据的时候,都认为别的线程或事务不会修改...[2018/10/12]
maven添加阿里云镜像与常用配置maven添加阿里云镜像与常用配置
maven解压后conf文件夹有个 settings.xml 在这个文件中可以配置我们的maven
配置阿里云镜像:
找到<mirrors></mirrors>找到这个节点在节点中添加:
<!-- 配置阿里云 ...[2018/10/12]
spark大批量读取Hbase时出现java.lang.OutOfMemoryError: unable to create new native thread
这个问题我去网上搜索了一下,发现了很多的解决方案都是增加的nproc数量,即用户最大线程数的数量,但我修改了并没有解决问题,最终是通过修改hadoop集群的最大线程数解决问题的。
并且网络上的回答多数关于增加nproc的答案不完整,我这里顺便记录一下。
用户最大线程数可以通过linux下的命令...[2018/10/12]
Spring入门学习笔记(1)
目录
Spring好处
依赖注入
面向面编程(AOP)
Spring Framework
Core Container
Web
Miscellaneous
编写第一个程序
IoC容器
Spring Bean
Spring配置元数据
Spring - Bean Scopes
singleton...[2018/10/12]
聊聊 API Gateway 和 Netflix Zuul
最近参与了公司 API Gateway 的搭建工作,技术选型是 Netflix Zuul,主要聊一聊其中的一些心得和体会。
本文主要是介绍使用 Zuul 且在不强制使用其他 Neflix OSS 组件时,如何搭建生产环境的 Gateway,以及能使用 Gateway 做哪些事...[2018/10/12]
说说设计模式
设计模式——简单来说一个函数的封装也是一种设计模式;
我们常见到的23种设计模式总结的是大部分场景下比较通用的一些设计模式;
他们可以分类三类:
1:创建型——用来更好,更智能的创建对象的
&...[2018/10/12]
浅谈设计模式
转载请注明出处:https: www.cnblogs.com/wenjunwei/p/9770693.html
设计模式简介
设计模式(Design Pattern)代表了最佳实践,通常被有经验的软件开发人员所采用。设计模式是软件开发人员在开发过程中面临的一般问题的解决方案。这些解决方案是众多软件...[2018/10/12]
开放封闭原则
软件设计本身所追求的目标是封装变化、降低耦合,开放封闭原则是对这一目标的最直接体现。其他的设计原则,很多时候是为了实现这一目标服务的。
核心思想:对扩展开放,对修改封闭。
...[2018/10/12]
依赖倒置原则依赖倒置原则
名词解释:抽象来自于具体,但在编程过程中,需要让具体依赖于抽象,从而降低模块间的耦合度,既是依赖倒置。
以上为个人便于理解记忆的总结。
具体而言,依赖倒置体现在:
高层模块不应该依赖于底层模块,二者都应该依赖于抽象。
抽象不应该依赖于具体,具体应该依赖于抽象。[2018/10/12]
hive 自定义udf 编写
HIVE 编写自定义函数UDF eclipse中编写UDF ①新建JAVA项目 并添加 hive-exec-2.1.0.jar 和hadoop-common-2.7.3.jar ,保证与集群中的版本一致 ②UDF类要继承org.apache.hadoop.hive.ql.exec.UD...[2018/10/12]
Spring Cloud Gateway全局异常处理的方法详解
前言 Spring Cloud Gateway是Spring官方基于Spring 5.0,Spring Boot 2.0和Project Reactor等技术开发的网关,Spring Cloud Gateway旨在为微服务架构提供一种简单而有效的统一的API路由管理方式。Spring Cloud ...[2018/10/12]
Java使用application.property读取文件里面的值
自定义工具类PropertyUtil,并在该类的static静态代码块中读取properties文件内容保存在static属性中以供别的程序使用 package com.hafiz.www.util;
import org.slf4j.Logger;
import ...[2018/10/12]
常见面试题分析:请解释&和&&,|和||的区别
与运算分为普通与(&)和短路与(&&)两种。
|- 普通与:所有的判断条件都要判断
|- 短路与: 如果前面的判断返回了false,后面不再判断,最终结果就是false
或运算分为普通或(|)和短路或(||)两种。
|- 普通或:所有的判断条件都要判断
...[2018/10/11]
IDEA基于Maven Struts2搭建配置及示例
1.web.xml加载struts框架即过滤器,要注意struts版本不同过滤器配置也不同。
1 <!DOCTYPE web-app PUBLIC
2 "- Sun Microsystems, Inc. DTD Web Application 2.3 EN"
3 ...[2018/10/11]
026.3 网络编程 TCP聊天
分为客户端和服务端,分别进行收发操作 ########################################################################## 客户端: ###思路: 1、建立tcp客户端服务 1.1因为是面向连接,...[2018/10/11]
Java环境变量搭建Java环境变量搭建
安装JDK开发环境
jdk下载地址:https: www.oracle.com/technetwork/java/javase/download jdk10-downloads-4416644.html,选择对应版本下载(安装过程中记住安装地址,后面会用到)
JDK 环境变...[2018/10/11]
nginx启动失败,配置完启动一闪而过,任务管理其中也没有进程
查看错误日志 查看error日志:[emerg] 920#2188: invalid URL prefix in C:\nginx-1.14.0/conf/nginx.conf:44
从错误我们可以看出 url前缀出错,查找后发现地址前忘记加 http:
修改为:
locatio...[2018/10/11]
Spring Boot 入门Spring Boot 入门
一、Spring Boot 入门
环境约束
–jdk1.8:Spring Boot 推荐jdk1.7及以上;java version "1.8.0_112"
–maven4.x:maven 3.3以上版本;Apache Maven 3.3.9
–IntelliJIDEA2017:Intell...[2018/10/11]
CentOS部署SpringBoot项目从0到1
在之前的博文《详解intellij idea搭建SpringBoot》介绍了idea搭建SpringBoot的详细过程, 并在《CentOS安装Tomcat》中介绍了Tomcat的安装,前面几篇文章实际上已经充分准备好了部署Linux的必要条件。那么今天来看看如何在CentOS部署SpringBo...[2018/10/11]
JSON基础知识点
一、介绍:
JSON是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。
二、数据格式:
1、JSON建构于两种数据格式:
“名称/值”对(键值对)的集合,不同的语言中,它被理解为对象(object),纪录(record),结构(struct),字典(dictionar...[2018/10/11]
Java开发笔记(八)五种算术运算符
计算机科学起源于数学,早期的计算机也确实多用于数学运算,以至于后来的各路编程语言,仍然保留着古老的加减乘除四则运算。这四则运算在Java语言中有专门的运算符加以表示,像加法符号“+”对应Java的“+”,减法符号“-”对应Java的“-”,乘法符号“×”对应Java的“*”,除法符号“÷”对应Ja...[2018/10/11]
【Java】HashMap源码分析——基本概念
在JDK1.8后,对HashMap源码进行了更改,引入了红黑树。 在这之前,HashMap实际上就是就是数组+链表的结构,由于HashMap是一张哈希表,其会产生哈希冲突,为了解决哈希冲突,HashMap采用了开链法,即对于用对象hashCode值计算哈希表数组下表时,当出现相同情况时,会在相同的...[2018/10/11]
JVM学习笔记1:Java虚拟机内存模型
JVM学习笔记1:Java虚拟机内存模型
学习JVM,Java虚拟机对理解Java程序执行过程和Java程序性能调优具有很大帮助。本系列博客旨在由浅到深学习并理解JVM。参考阅读:《深入理解Java虚拟机-JVM高级特性和最佳实践》。这个书写的非常好,推荐有条件的读者买一本来阅读,网上也有电子版的...[2018/10/11]
Java基础教程(5)--变量Java基础教程(5)--变量
一.变量
1.变量的定义
??正如上一篇教程《Java基础教程(4)--面向对象概念》中介绍的那样,对象将它的状态存在域中。但是你可能仍然有一些疑问,例如:命名一个域的规则和惯例是什么?除了int还有其他的类型吗?域在声明的时候必须初始化吗?如果域没有显示地初始化会被赋予一个默认值吗?在本文中我们...[2018/10/11]
分布式Dubbo快速入门
目录
Dubbo入门
背景
zookeeper安装
发布Dubbo服务
Dubbo Admin管理
消费Dubbo服务
抽取与依赖版本管理
Dubbo入门
Editor:SimpleWu
Dubbo是?阿里巴巴公司开源的一个高性能优秀的服务框架使得应用可通过高性能的 RPC 实现服务的输...[2018/10/11]
JAVA对象
示例:
public cla Book {
/**
* 书名
*/
private String name;
/**
* 作者
*/
private String author;
/**
* 获取书名...[2018/10/11]
Hibernate 中的 idclass mapping 问题
关于出现 idcla mapping 运行错误
@IdCla 注释通常用于定义包含复合键id的Cla 。即多个属性的关键复合。
@IdCla (CountrylanguageEntityPK.cla ) 则CountrylanguageEntityPK如下所示:
packag...[2018/10/11]
5.4 集合的排序(Java学习笔记)(Collections.sort(),及Arrays.sort()底层分析)
1.Comparable接口
这个接口顾名思义就是用于排序的,如果要对某些对象进行排序,那么该对象所在的类必须实现
Comparabld接口。Comparable接口只有一个方法CompareTo(),这个方法可以看做是指定的排序规则。
内置类已经实现了Compare...[2018/10/11]
springboot之多数据源配置JdbcTemplate
springboot多数据源配置,代码如下
DataSourceConfig
package com.rookie.bigdata.config;
import org.springframework.beans.factory.annotation.Qualifier;
import o...[2018/10/11]
SpringBoot之HelloWorld仔细分析
程序中的pom.xml文件:
一、父级标签
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent&l...[2018/10/11]
从源码分析如何优雅的使用 Kafka 生产者从源码分析如何优雅的使用 Kafka 生产者
前言 在上文 设计一个百万级的消息推送系统 中提到消息流转采用的是 Kafka 作为中间件。 其中有朋友咨询在大量消息的情况下 Kakfa 是如何保证消息的高效及一致性呢? 正好以这个问题结合 Kakfa 的源码讨论下如何正确、高效的发送消息。 内容较多,对源码感兴趣的朋友请系好安全带??(源码基...[2018/10/11]