首页
学习
活动
专区
工具
TVP
发布

Java进阶

专栏作者
64
文章
59187
阅读量
32
订阅数
初遇单例模式之双重检测
为了让博客看起来不那么深入,我觉得可以让加入一点故事情节~ 锻炼一下以后写不动代码改写小说的能力~
用户2141593
2019-02-20
6400
一次单例模式引发的深思
为了让博客看起来不那么深入,我觉得可以让加入一点故事情节~ 锻炼一下以后写不动代码改写小说的能力~
用户2141593
2019-02-20
5200
SpringMVC实现原理
今天我们来实现一个简单的springMVC框架,可以理解为 springMVC1.0这个版本,只是功能比较简单而已;
用户2141593
2019-02-20
4520
<一>深入理解Threadlocal的实现原理
文章开头我想说,这是一篇面向不怎么懂  Threadlocal 的朋友的博客,所以有的人会觉得有点啰嗦,但不论您水平高低,相信耐着性子看完也一定会有收获。
用户2141593
2019-02-20
1.6K0
<二>深入理解Threadlocal 关于内存泄漏的思考
什么是内存泄漏呢?对象已经没有在其它地方被使用了,但是垃圾回收器没办法移除它们,因为还在被引用着。
用户2141593
2019-02-20
5420
JVM 的体系结构
 栈空间里存放的是局部变量表,动态链接,操作数栈,以及是方法的出口;每个栈帧都会随着方法的开始和结束相应的出栈和入 栈;
用户2141593
2019-02-20
4030
高效编程之首字符大小写转换!
Spring注入一个类的时候,BeanFactory 收到的一个类名, 类名都是首字母大写的,但是注入使用的确是首字母小写,这就引发了思考,spring是怎么把首字母大写转小写的呢?
用户2141593
2019-02-20
1K0
高效编程之HashMap的entryset和keyset比较
最近看了一点spring的源码,甚是苦涩;对spring稍微有了点整体的认识,但对很多细节的地方还是懵逼啊。。。太多不懂了的,只能慢慢去读,先把简单的不懂的解决;
用户2141593
2019-02-20
6160
Java 换行 \n 与 System.getProperty("line.separator");
而  System.getProperty("line.separator"); 是什么意思呢? 
用户2141593
2019-02-20
1.4K0
Java内存模型分析
计算机在执行程序时,每条指令都是在CPU中执行的,而执行指令过程中,势必涉及到数据的读取和写入。
用户2141593
2019-02-20
3510
volatile关键字解析
在给 volatile关键字解析 之前 希望看本文的朋友对Java内存模型有一定的了解;不了解的朋友可以先看看Java内存模型
用户2141593
2019-02-20
4240
为什么要重写hashcode和equals方法?
因为默认的equals方法是Object的方法,比较的是内存地址;而默认的hashcode方法返回的是对象的内存地址转换成的一个整数,实际上指的的也是内存,两个方法可以理解为比较的都是内存地址,这在实际开发的过程中在hashmap或者hashset里如果不重写的hashcode和equals方法的话会导致我们存对象的时候,把对象存进去了,取的时候却取不到想要的对象,这时候就需要重写这两个方法了,一般可以根据业务的需求来重写;
用户2141593
2019-02-20
1.2K0
try,finally中都有return时程序的执行顺序
 在Java中当try、finally语句中包含return语句时,执行情况到底是怎样的,finally中的代码是否执行,大家各有各的说法,刚好今天有个朋友问了我这个问题,下面我就提供两段代码,详细解释一下~
用户2141593
2019-02-20
2.6K0
Java垃圾回收的细节
大家都知道 java 的垃圾回收机制,java有自己的垃圾回收器来自动回收垃圾。本人对于垃圾回收机制以前也就知道java的垃圾回收器是自动回收垃圾的,有这么回事,知道有finalize和system这两个方法而已,别人都跟我说,你知道java虚拟机有垃圾回收这回事就可以了,你不用操心这个的,我也一直深信不疑,并感叹java 虚拟机真神奇!直到我对 java 的理解逐渐加深后,才发现并不是那么回事!
用户2141593
2019-02-20
4610
java类的加载过程和类加载器的分析
我们知道,我们写的java代码保存的格式是 .java, java文件被编译后会转换为字节码,字节码可以在任何平台通过java虚拟机来运行,这也是java能够跨平台的原因。
用户2141593
2019-02-20
5810
volatile和synchronized 实现原理的差别
提到volatile 和 synchronized 的时候不得不提到的一个东西就是JMM(java Memory Model)java内存模型。 因为在并发的过程中 经常要处理一些 可见性 、 原子性 、 有序性的问题。 并发编程中的两个关键问题是: 线程之间是 如何通信的。 这又分两种情况: 1、共享内存 ——— 隐式通信 volatile 2、 消息传递 ——— 显示通信 synchronized / lock 先看看没有 volatile 跟 synchronized来控制
用户2141593
2018-05-18
8560
分布式锁的实现方式
分布式锁跟 我们 平时用 的synchronized 锁 本质是都是锁。 不同的是:synchronized是 java提供的锁。 是java进程进行多线程控制时的锁。 用 分布式锁 的原
用户2141593
2018-05-18
8810
为什么会要序列化
对 java对象的传输 是通过网络的 。然后网络都是通过字节传输的 所以需要用序列化的方式 将java对象转化为 字节,然后网络那头的接受端,拿到收到的字节 再反序列化出来一个对象,用来保证 java的对象能够跨进程传输。 总结了一下 序列化的几个要点: 1.在java中,只要一个类实现了java.io.Serializable接口,那么它就可以被序列化 2.通过ObjectOutputStream和ObjectInputStream对对象进行序列化合反序列化操作 3. 对象是否允许被反序列化,
用户2141593
2018-05-18
1.1K0
没有更多了
社区活动
RAG七天入门训练营
鹅厂大牛手把手带你上手实战
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档