javaSE
WS好好学习
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
ArrayList的扩容机制
一 先从 ArrayList 的构造函数说起ArrayList有三种方式来初始化,构造方法源码如下: /** * 默认初始容量大小 */ private static final int DEFAULT_CAPACITY = 10; private static final Object[] DEFAULTCAPACITY_EMPTY_ELE...原创 2020-05-02 14:55:00 · 257 阅读 · 0 评论 -
java 集合框架之List,Set,Map
List,Set,Map的区别List (顺序):List接口存储一组不唯一,有序的对象Set(无序):不允许重复的集合。不会有多个元素引用相同的对象。Map(key-value键值对):Map会维护与Key有关联的值,两个key可以引用相同的对象,key不能重复,key可以是String也可以是任何对象。ArrayList与LinkedList的区别ArrayList与Linke...原创 2020-05-02 14:52:41 · 331 阅读 · 0 评论 -
java queue
Java queueQueue设计用于在处理之前保留元素的集合。 除了基本的Collection操作之外,队列还提供额外的插入,提取和检查操作。 这些方法中的每一种都有两种形式:如果操作失败,则抛出一个异常,另一种返回一个特殊值( null或false ,具体取决于操作)。 插入操作的后一种形式专门设计用于容量限制的Queue实现; 在大多数实现中,插入操作不能失败Queue的实现Ab...原创 2020-05-02 13:57:41 · 210 阅读 · 0 评论 -
多线程问题
1.线程安全概念:当多个线程访问某一个类(对象或方法)时,这个对象始终都能表现出正确的行为,那么这个类(对象或方法)就是线程安全的。2.synchronized:可以在任意对象及方法上加锁,而加锁的这段代码称为"互斥区"或"临界区"。3.关键字synchronized取得的锁都是对象锁,而不是把一段代码(方法)当做锁, 所以代码中哪个线程先执行synchronized关键字的方法,哪个线...原创 2020-03-12 16:43:09 · 238 阅读 · 0 评论 -
单例模式
单例模式:确保程序中一个类最多只有一个实例四种单例模式1.线程不安全(懒汉式,线程不安全)public class UnsafeSingleton { private static UnsafeSingleton singleton; private UnsafeSingleton(){} public static UnsafeSingleton getInstanc...原创 2018-06-05 21:49:56 · 236 阅读 · 0 评论 -
java堆
java堆堆空间可分为新生代和老年代新生代划分为Eden、survivor(s0、s1)对象创建时进入Eden区,经过1次gc若对象存活则进入s0/s1区每经历1次gc对象的年龄加1,15次GC后对象进入老年代垃圾回收时的核心算法:复制算法(新生代对象产生于销毁过快) s0-->s1,s1-->s0的清空与复制survivor区存在必要性:如果没有Sur...原创 2018-10-03 17:02:33 · 598 阅读 · 0 评论 -
spring 中文文档
Spring官方文档:http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle/一、Spring框架概述Spring框架是一个轻量级的解决方案,可以一站式地构建企业级应用。Spring是模块化的,所...转载 2018-10-29 14:16:14 · 1329 阅读 · 1 评论 -
mybatis 执行流程 源码分析
mybatis执行流程,源码分析一直在用mybatis,始终没有对mybatis的执行流程进行过深入了解,周末闲来无事,进行一次记录。1.加载配置文件InputStream in = Resources.getResourceAsStream("sqlMapConfig.xml");2.创建SqlSessionFactorySqlSessionFactory sqlSessionFac...原创 2019-08-18 14:15:26 · 225 阅读 · 0 评论 -
获取两个list不相同的元素
获取两个list不相同的元素 public static List getDiffElemList(List list1, List list2){ List listAll = new ArrayList(); List resultList= new ArrayList(); listAll.addAll(list1); listAll.addA...原创 2018-06-04 10:54:32 · 695 阅读 · 0 评论 -
设计模式-观察者模式
参考Head First 设计模式观察者模式:定义对象之间一对多的依赖,当“一”发生改变时,所有的依赖者都会收到通知并自动改变,主题与订阅者关系。定义主题接口Subject/** * @description: * @author: zhangyh * @create :2018/6/2 */public interface Subject { public void regis...原创 2018-06-02 18:00:29 · 249 阅读 · 0 评论 -
代理
使用代理模式必须要让代理类和目标类实现相同的接口,客户端通过代理类来调用目标方法,代理类会将所有的方法调用分派到目标对象上反射执行,还可以在分派过程中添加"前置通知"和后置处理(如在调用目标方法前校验权限,在调用完目标方法后打印日志等)等功能。1.静态代理代理类与被代理类实现同一个接口在被代理类作为代理类中的属性,重写默认构造器接口public interface Count...原创 2018-06-02 17:19:19 · 261 阅读 · 0 评论 -
为什么不可以从一个 static 方法内部发出对非 static 方法的调用
static方法在类被加载时被调用,不需要创建对象,而非static方法是与对象关联起来的,必须创建对象才能对非static方法进行调用,而static方法被调用时还未创建对象,此时是无法成立,完成调用逻辑的。参阅类的加载顺序。原创 2017-05-30 13:19:44 · 749 阅读 · 0 评论 -
eclipse常用快捷键
Eclipse智能提示及快捷键 1、java智能提示(1). 打开Eclipse,选择打开" Window - Preferences"。(2). 在目录树上选择"Java-Editor-Content Assist",在右侧的"Auto-Activation"找到"Auto Activation triggers for java"选项。默认触发代码提示的就是"."这转载 2017-07-17 18:55:27 · 308 阅读 · 0 评论 -
java内存模型
http://blog.youkuaiyun.com/suifeng3051/article/details/52611310转载 2018-02-28 17:45:43 · 216 阅读 · 0 评论 -
java设计模式
https://www.cnblogs.com/cr330326/p/5627658.html转载 2018-03-02 12:36:23 · 244 阅读 · 0 评论 -
jvm相关
http://www.cnblogs.com/aaron911/category/1118737.html转载 2018-04-01 15:32:53 · 217 阅读 · 0 评论 -
Java 线程池的区别
常见的Java线程池:newCachedThreadPool:可缓存线程池ExecutorService cachedThreadPool = Executors.newCachedThreadPool();如果线程池中线程数量大于任务数量,会自动回收空闲线程,任务数大于线程数量时会自动创建线程;特点:1.线程的数量无上限(Integer.MAX_VALUE)2.线程池中在一定时间内没有提交任务则...原创 2018-04-09 19:27:57 · 344 阅读 · 0 评论 -
"=="和 和 equals 方法究竟有什么区别
==操作符专门用来比较两个变量的值是否相等,也就是用于比较变量所对应的内存中所存储的数值是否相同,要比较两个基本类型的数据或两个引用变量是否相等,只能用==操作符。如果一个变量指向的数据是对象类型的,那么,这时候涉及了两块内存,对象本身占用一块内存(堆内存),变量也占用一块内存,例如 Objet obj = new Object();变量 obj 是一个内存,new Object()是原创 2017-05-30 12:49:29 · 397 阅读 · 0 评论
分享