java内功修炼
李勇杰Charles
nothing
展开
-
【JVM】参数设置
idea在哪里设置JVM参数Trace跟踪参数打印GC简要信息-verbose:gc-XX:+PrintGC打印详细信息-XX:+PrintGCDetails打印CG发生的时间戳-XX:+PrintGCTimeStamps指定GC log的位置,以文件输出帮助开发人员分析问题-Xloggc:log/gc.log //这里是你的日志路径,可以是相对的也可以是绝对路径...原创 2019-03-25 11:53:12 · 286 阅读 · 0 评论 -
【JVM】GC
什么是GC随着程序的运行,内存中的变量,对象等越来越多轻则影响性能重则导致系统崩溃。内存回收回收的是哪些区域呢,是堆和方法区;栈帧、程序计数器、本地方法栈的生命周期是与线程同步的,线程结束它们也就消失了,所以这些区域不需要回收。GC就是找到存活对象回收无用对象占用的内存空间让其他对象。什么是垃圾要想进行垃圾回收首先得知道什么是垃圾,对程序来说判断垃圾是通过一些算法进行判断的,有以下算法...原创 2019-03-26 21:32:43 · 797 阅读 · 0 评论 -
spring中用到的设计模式
单例模式保证全局仅有一个实例,并为其提供一个全局访问点。spring中最明显的使用时配置注册bean的时候设置scope为singleton。源码实现org.springframework.beans.factory.support.AbstractBeanFactory#doGetBean@Nullable protected Object getSingleton(Strin...原创 2019-03-31 10:14:28 · 2619 阅读 · 0 评论 -
【JVM】运行机制
启动流程我们写完代码之后代码到底是如何执行的呢?1、编写源代码,XXX.java2、编译成XXX.class3、打包成XXX.jar4、执行命令 java -jar XXX.jar来启动程序JVM基本结构类加载子系统:把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化最终形成可以被JVM直接使用的Java类型指令计数器:可以当做当前线程所执行字节码行号...原创 2019-03-24 17:33:25 · 492 阅读 · 1 评论 -
【JVM】类装载
什么是类加载机制把Class文件加载到内存中,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的java 类型就是类的加载机制。类加载的时机下图是类在jvm中的生命周期:何时加载:遇到new/getstatic/putstatic/invokestatic反射子类加载时若父类没有加载,则先加载父类包含main方法的类JDK1.7动态语言支持时MethodHa...原创 2019-03-27 21:21:50 · 277 阅读 · 0 评论 -
Spring MVC入门
什么是springmvcSpring Web MVC是基于Servlet API构建的原始Web框架,从一开始就包含在Spring框架中。Spring Web MVC的正式名称来自其源模块(Spring -webmvc)的名称,但它更常见的名称是Spring MVC。为什么要用Spring MVC简化传统servlet处理请求代码是spring的一部分,与spring无缝集成提供大量A...原创 2019-04-11 16:06:40 · 312 阅读 · 0 评论 -
【spring】IOC
前言大家都知道spring的核心是Ioc和aop,也都知道IOC中的DI,但是真的想弄清楚什么是IOC其实还是挺困难的,最近看了不少关于IOC的文章,故在此总结一番,方便日后回顾查看。什么是IOC控制反转(Inversion of Control,缩写为IoC),是面向对象编程中的一种设计原则,可以用来减低计算机代码之间的耦合度。其中最常见的方式叫做依赖注入(Dependency Injec...原创 2019-04-02 20:55:09 · 163 阅读 · 0 评论 -
redis持久化
redis持久化有两种方式:RDB什么是RDB是把redis数据库中的数据原样保存的硬盘当中;为什么需要持久化:redis是在内存中的key-value数据库,当服务器关闭的时候或故障断电的时候如果没有持久化功能数据会全部丢失;RDB文件的创建和导入命令:save:阻塞进程bgsave:子进程处理,不会阻塞载入:自动检测,发现就会载入,载入过程是阻塞状态,aof开启默认载...原创 2019-05-03 21:15:11 · 169 阅读 · 0 评论 -
redis入门
什么是redis是一个高性能key-value非关系型数据库可以用来做什么可以用来做缓存,消息队列数据结构stringsetzsethashlist特性可以持久化,发布订阅模式运行原理持久化方式rdbaof实战问题哨兵:主进程失效后哨兵发现并选出主哨兵,重建主数据节点缓存雪崩:缓存大面积失效,请求压力都放在db上压力太大,导致db异常缓存击穿:黑客故意...原创 2019-04-24 21:32:02 · 148 阅读 · 3 评论