随笔分类 - Java Base
浅析ConcurrentHashMap
摘要:一、导论 这些天一直在看关于多线程和高并发的书籍,也对jdk中的并发措施了解了些许,看到concurrentHashMap的时候感觉知识点很乱,有必要写篇博客整理记录一下。 当资源在多线程下共享时会产生一些逻辑问题,这个时候类或者方法会产生不符合正常逻辑的结果,则不是线程安全的。纵观jdk的版本更新
阅读全文
虚拟机是如何加载类的
摘要:一、概述 首先先来看几个问题 jvm是如何加载这些Class文件的? jvm加载一个Class文件需要哪些步骤? Class文件中的信息进入到虚拟机后会发生什么变化? 接下来看看jvm加载class文件的概述: jvm把描述类的数据从class文件加载到内存,并对数据进行校验,转换解析和初始化,最终
阅读全文
浅谈java内存分配和回收策略
摘要:一、导论 java技术体系中所提到的内存自动化管理归根结底就是内存的分配与回收两个问题,之前已经和大家谈过java回收的相关知识,今天来和大家聊聊java对象的在内存中的分配。通俗的讲,对象的内存分配就是在堆上的分配,对象主要分配在新生代的Eden上(关于对象在内存上的分代在垃圾回收中会补上,想了解
阅读全文
浅谈java垃圾回收机制
摘要:一、问题 笔者最近遇到超级多的关于java中垃圾回收机制的问题,所以特地写一遍博客来和大家交流一下java中的垃圾回收到底是什么鬼。所谓垃圾回收即使jvm觉得你这个对象没有存在的必要,将你清理出去,那么问题来了。 下面我来一个一个看问题 二、如何确定某个对象是需要被回收的 这里我们先了解一个的问题:
阅读全文
设计模式之简单工厂模式
摘要:一、简单工厂模式简介 在面向对象编程中, 最通常的方法是一个new操作符产生一个对象实例,new操作符就是用来构造对象实例的。但是在一些情况下, new操作符直接生成对象会带来一些问题。举例来说, 许多类型对象的创造需要一系列的步骤: 你可能需要计算或取得对象的初始设置; 选择生成哪个子对象实例;
阅读全文
设计模式之装饰模式
摘要:一、什么是装饰模式 概念:动态的给一个对象添加一些额外的功能。就增加功能来说,装饰模式比生成自子类更加的灵活。 举个例子,笔者自己以前喜欢吃手抓饼。每天都要去十字路口大爷那里买手抓饼,但是大爷卖的手抓饼有大份,小份等等,还有各种口味的配料添加。比如我比较喜欢变态辣,喜欢加火腿,喜欢加鸡蛋,所以每次去
阅读全文
设计模式之代理模式
摘要:一、什么是代理模式(Porxy) 概念:代理模式就是为其他对象提供一种代理以控制对这个对象的访问。 现实生活中也有很多行为吻合代理模式。比如店外卖,客户在APP上下单后,店长会接单。这个时候店长可以选择自己去送这份外卖,也可以委托送餐员代理店长去送这份外卖。当然店长是可以自己送,但店长送了外卖店就没
阅读全文
浙公网安备 33010602011771号