![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java基础
文章平均质量分 51
z_子恒
爱生活,爱编程
展开
-
笔记 - 死锁的必要条件和如何避免死锁
1、死锁的4个必要条件2、如何避免死锁原创 2020-02-07 10:49:48 · 185 阅读 · 0 评论 -
笔记 - Happens-Before规则
单线程规则 锁操作(synchronize和Lock) volatile变量 线程的启动 线程join 具有传递性 中断 构造方法 并发工具类 线程安全的容器get一定能看到在此之前的put等存入动作 CountDownLatch Semaphore Future 线程池 CyclicBar...原创 2020-02-03 15:11:19 · 185 阅读 · 0 评论 -
笔记 - JVM内存结构、Java对象模型、Java内存模型
1、JVM内存结构堆:对象 栈:对象的引用、基本数据类型 方法区: static静态变量、类信息、常量信息、永久对象引用 本地方法栈:native方法 程序计数器:保存当前线程字节码的行号数、下次需要执行的指令2、Java对象模型(对象在内存中的结构)3、Java内存模型 JMM (并发操作时)(1)、什么是JMM,为什么需要:1、是一种规范,若...原创 2020-02-03 14:40:17 · 155 阅读 · 0 评论 -
笔记 - 面向对象六大原则
一.单一职责:不要存在多于一个导致类变更的原因。通俗的说,即一个类只负责一项职责。二.里氏替换原则:所有引用基类的地方必须能透明地使用其子类的对象,也就是说子类可以扩展父类的功能,但不能改变父类原有的功能三.依赖倒置:高层模块不应该依赖低层模块,二者都应该依赖其抽象;抽象不应该依赖细节;细节应该依赖抽象。简单的说就是尽量面向接口编程.四.接口隔离:客户端不应该依赖它不需...原创 2019-01-22 19:36:09 · 26 阅读 · 1 评论 -
笔记 - JVM基础设置
jdk8文档jvm工具文档(运行时选择)( -Xint:解释执行 -Xcomp:第一次使用就编译成本地代码 -Xmixed:混合模式(默认),JVM自己来决定是否编译成本地代码)一、堆内存(对象内存) 栈(参数传递)-Xms32M ---- 初始堆内存-Xmx32M ---- 最大堆内存-XX:NewSize -XX:MaxNew...原创 2019-01-22 22:12:23 · 54 阅读 · 1 评论 -
笔记 - GC调优
一、垃圾回收--选择一个好的垃圾收集器:吞吐量最大时,停顿时间最小停顿时间: XX:MaxGCPauseMillis=200 --垃圾收集器做垃圾回收中断应用执行的时间 毫秒吞吐量: XX:GCTimeRatio=<n> 百分比,垃圾收集时间占:1/1+n -- 花在垃圾收集时间和应用时间的占比1、串行收集器 -- 单线程 (暂停应用执行,单条线程执行垃圾回收)......原创 2019-12-11 10:35:46 · 87 阅读 · 1 评论 -
笔记 - 系统与服务器优化配置
一、系统#防止一个套接字在有过多试图连接到达时引起过载1、sysctl -w net.ipv4.tcp_syncookies=1#默认128,连接队列2、sysctl -w net.core.somaxconn=1024#timewait的超时时间3、sysctl -w net.ipv4.tcp_fin_timout=10#os直接使用timewait的连接4、sysctl...原创 2019-01-22 22:09:18 · 22 阅读 · 1 评论 -
springcloud openzipkin 无追踪信息
先上版本运行环境信息:spring boot环境: 2.1.3.RELEASEspring cloud 版本: Greenwich.RELEASEopenzipkin版本 2.1.0:<dependency> <groupId>org.springframework.cloud</groupId> <artifact...原创 2019-03-19 12:04:51 · 584 阅读 · 0 评论 -
笔记 - 自定义Spring MVC注解
自定义类似@RequestParam等注解,获取前端传来的参数并处理1、编写注解@Target({ElementType.FIELD,ElementType.PARAMETER})@Retention(RetentionPolicy.RUNTIME)@Documentedpublic @interface SensitiveFormat {}2、编写处理过滤器/**...原创 2019-08-02 16:48:57 · 86 阅读 · 1 评论 -
Cannot resolve plugin org.apache.maven.plugins:maven-war-plugin
网上清一片的说maven路径不一致(改了后也无法解决) :解决办法: 添加镜像源 - 在配置的setting.xml加入: <mirror> <!-- 阿里镜像 --> <id>alimaven</id> <mirrorOf>central</mirrorO...原创 2019-08-21 17:54:20 · 17284 阅读 · 6 评论 -
笔记 - GC收集器
一、分代:不被引用的对象会被回收 垃圾回收包括Minor GC、Major GC 和 Full GC 垃圾回收时所有运行暂停注意项:对象创的太多太快的时候也会触发GC 对象被回收时资源不会被回收 - 例如数据库连接资源需要close等 try(回收资源) catch finally(回收资源) 新生代中存活一定次数后会被转入老生代 Major/Full GC 会对老生代动...原创 2018-09-01 15:30:52 · 416 阅读 · 0 评论 -
笔记 - SpringAop和拦截器
1、AOP@Before 方法执行前 @After 方法执行后@Around 比较强大-在执行方法前后既可以在目标方法之前织入增强动作,也可以在执行目标方法之后织入增强动作; 它可以决定目标方法在什么时候执行,如何执行,甚至可以完全阻止目标目标方法的执行; 它可以改变执行目标方法的参数值,也可以改变执行目标方法之后的返回值; 当需要改变目标方法的返回值时,只能使用Around...原创 2020-03-15 12:05:20 · 99 阅读 · 1 评论 -
protostuff工具序列化
redis和protostuff依赖<dependency> <groupId>com.dyuproject.protostuff</groupId> <artifactId>protostuff-core</artifactId> <version>1.1.3</version> <!原创 2018-11-07 20:37:34 · 15 阅读 · 0 评论 -
CallAble和deferredResult多线程处理
文档 : spring 文档//多线程处理配置@Configurationpublic class AsyncConfig extends WebMvcConfigurerAdapter{ @Override public void configureAsyncSupport(AsyncSupportConfigurer configurer) { c...原创 2018-11-07 21:34:04 · 71 阅读 · 1 评论 -
笔记 - Java 内存结构与模型
-- Java里内存结构与内存模型是两种概念一、Java内存结构:HeapMemory - 堆内存 Java Stacks - 栈内存 (运行时) Method Area - 方法区 Native Method Stack - 本地方法栈 真实和系统打交道的地方 Jit Compiler - 将java运行指令编译成机器指令 Garbage Collector - 垃圾...原创 2023-03-08 10:37:40 · 404 阅读 · 1 评论