加载中
JAVA内存模型

JAVA内存模型 线程角度 程序计数器(Program Counter Register) 当前程序所执行的字节码行号指示器(逻辑) 改变计数器的值来选取下一条需要执行的字节码指令 和线程是一对一的关系即“线程...

2020/06/17 15:25
140
JVM的内存模型

上图是JAVA虚拟机大致的内存示意图。 栈空间也称为线程栈,当一个应用运行在服务器容器中,每进来一个新的请求,容器便会创建一个新的线程来处理请求,java虚拟机便会给该线程分配一小块属于...

2020/01/13 15:42
120
ThreadLocal与其他变量的区别

今天学习了ThreadLocal,一直不知道它的用法,所以自己花时间写了个demo来理清楚ThreadLocal修饰的成员变量和类的普通成员变量的区别。 其实很简单,使用ThreadLocal<T>变量,一定要用publi...

2020/04/07 16:24
432
Java中finalize()方法

finalize()方法是Object类中提供的一个方法,在GC准备释放对象所占用的内存空间之前,它将首先调用finalize()方法。其在Object中定义如下: protected void finalize() throws Throwable { }...

2020/01/16 16:20
178
JAVA垃圾回收机制

对象被判定为垃圾的标准 当没有被任何对象所引用的情况下,该对象就被系统判定为没用的。其占据的内存就要被释放,此对象就要被销毁。 判定对象是否为垃圾的算法 1.引用计数算法 通过判断对象...

2020/06/17 17:35
158
java类的反射实例

package reflect; public class Human { private String name; public int age; public void setName(String name) { this.name = name; } public String getName() { return name; } ......

2019/04/09 17:03
71
jvm如何加载class文件

编译期: javac是JDK自带的编译器, 可以将java文件编译为class字节码文件, javap是JDK自带的反编译器,将.class字节码反编译为.java文件,javap -help是javap常用指令,javap -c XXX.clas...

可达性算法

一、可达性分析算法 在Java中,是通过可达性分析(Reachability Analysis)来判定对象是否存活的。该算法的基本思路就是通过一些被称为引用链(GC Roots)的对象作为起点,从这些节点开始向下...

webservice的学习(1)

WebService 是什么? 一言以蔽之:WebService是一种跨编程语言和跨操作系统平台的远程调用技术。 所谓跨编程语言和跨操作平台,就是说服务端程序采用java编写,客户端程序则可以采用其他编程...

堆的内存模型

堆内存模型如下图 堆内存中,分为年轻代,老年代。 new出来的对象,放在堆内存中,具体会放到eden区。 当堆的内存设置为600M时,老年代会占400M内存,年轻代会占200M。而eden区,会占160M内存...

2020/01/13 17:30
184
关于hibernate的一些小记

最近接触的老项目,总是爱用hibernate,维护起来觉得很麻烦,这里随便总结一下hibernate的特点。 首先: 1.hibernate可以直接对java实例操作,达到数据库的增删改查作用,但是这个实例,只对...

2019/02/21 17:46
132
mybatis学习(1)

JDBC连接方式: 1.底层没有使用连接池,操作数据库需要频繁的创建和关闭连接,消耗资源。 2.写原生的JDBC代码在JAVA中,一旦需要修改SQL的话(比如表增加字段),JAVA需要整体重新编译,不利...

2018/12/15 16:27
126
spring boot的启动方式

命令行参数 回顾一下在本章的 “ 快速入门 ” 小节中, 我们还介绍了如何启动SpringBoot应用, 其中提到了使用命令java -jar 来启动的方式。 该命令除了启动应用之外, 还可以在命令行中指定...

2019/03/08 15:42
90
多线程学习(7)锁

java主流锁体系和分类: 1、乐观锁,悲观锁 悲观锁: 悲观认为自己在使用数据的时候一定有别的线程来修改数据,在获取数据的时候会加锁,确保数据不会被别的线程修改。 锁实现:关键字Synch...

2019/04/14 23:27
182
操作jstack

linux命令 linux系统下,使用top命令,可以查看当前占用CPU资源的进程。 使用top -Hp [pid],可以查看该进程下的所有子线程。 上图中可以看出pid为24678的线程占了较多的cpu资源,利用jstac...

2020/04/21 15:51
842
设计模式的学习(6)代理模式

代理模式 代理模式(Proxy Pattern)是一种结构型设计模式,它可以为其他对象提供一种代理以控制对这个对象的访问。 所谓代理,是指具有与被代理对象相同的接口的类,客户端必须通过代理与被...

2018/12/27 11:01
94
kafka学习(2)主题 Topic

Topic主题: 消息在进入kafka集群时,是以主题进行 数据归纳,既一条消息必须属于一个主题。 在kafka集群中可以有无数个主题。 从生产者的角度来说,他所操作的单位,一般情况下是以主题为单...

2019/04/15 23:47
120
简单了解静态代理,JDK提供的动态代理和cglib的动态代理

静态代理: 定义一个公共接口和公共方法, package proxy; public interface Work { void sayHello(); String getName(); } 创建一个被代理类,实现公共接口和方法; package proxy; public ...

2019/04/04 18:10
93
设计模式的学习(12)责任链模式

责任链模式 责任链模式(Chain of Responsibility Pattern)为一个请求创建了一个接收者对象的链。在这种模式中,通常每个接收者都包含对另一个接收者的引用,如果一个接收者对象不能处理该请...

2018/12/29 10:58
130
dubbo后台监控

先贴上dubbo官方文档地址: http://dubbo.apache.org/zh-cn/docs/admin/introduction.html Maven方式部署 从git上下载dubbo-admin项目到本地:git clone https://github.com/apache/dubbo-a...

2020/04/22 14:39
281

没有更多内容

加载失败,请刷新页面

返回顶部
顶部