
java
文章平均质量分 64
寸辰
这个作者很懒,什么都没留下…
展开
-
【性能优化】记录一次YounGC峰值优化
服务环境CPU 24核服务内存 16G问题复盘youngGC时延增大直到触发mixedGC后恢复正常如下具体GC日志如下Before MixedGC2020-01-12T19:37:30.333+0800: 192703.245: [SoftReference, 0 refs, 0.0000815 secs]2020-01-12T19:37:30.333+0800: 1927...原创 2020-03-05 19:21:50 · 1003 阅读 · 0 评论 -
【JAVA笔记——器】Spring面向切面编程 Aspect Oriented Programming with Spring
并非完全按照Reference翻译,有删改 原文 Aspect Oriented Programming with SpringAOP术语通知Advice 切面的工作为通知 SPRING 五种通知 before after after-returning after-throwing around连接点 Joinpoint 连接点是执行过程中能够插入切面的一个点切点 Pointcut 并翻译 2016-08-24 11:20:55 · 1075 阅读 · 0 评论 -
【JAVA笔记——器】Spring Aop 实现Log日志系统——基本实现
Log日志系统可以说是项目开发中最基本的模块之一,在未使用Spring Aop之前,日志记录都是采用手工配置。由于开发人员的代码风格不统一,经常会导致日志风格混乱,难以阅读,甚至日志遗漏情况。 通过Aop可以实现日志系统的自动配置,减少人工配置的错误风险,同时提高日志系统的健壮性。基本配置xmlns:context=”http://www.springframework.org/schema/co原创 2016-09-07 23:10:36 · 1944 阅读 · 0 评论 -
【JAVA笔记——道】对象生命周期详解
JAVA对象实例化过程因为此篇篇幅较长,单独抽出,详情请看 Class初始化理解 此篇中详细介绍了JAVA对象的实例化过程JAVA对象内存分配过程JVM 这里默认使用HotSpot虚拟机。简单回顾一下JVM内存结构,JVM中主要将使用到的内存划分为五块,其中:线程私有:虚拟机栈(VM Stack),本地方法栈(Native Method Stack),程序计数器(Program Counter原创 2016-01-06 10:56:57 · 1844 阅读 · 0 评论 -
【技术选型-BI】BI技术选型
BI技术选型原创 2017-06-15 23:00:54 · 1337 阅读 · 0 评论 -
【JAVA笔记——道】java动态代理源码深入
JAVA动态代理是JAVA7的重要特性,其主要功能是通过proxy对象实现动态接口实现。首先新建InvocationHandler具体深入稍后会解释public class PracticeInvocationHandler implements InvocationHandler{ private Object receiverObject; public Practiceinvo原创 2015-01-04 20:25:50 · 718 阅读 · 0 评论 -
【深入剖析Tomcat笔记】第三篇 基本容器模型
简单回顾一下上文,上文中我们通过ServerSocket和Socket类实现基本的Socket连接。此篇我们将DemoServer进行重构。上篇最后,我们发现了一些问题,但这些问题无法进行整体性解决,因此我们将项目进行更为合理的拆分成独立的模块。原创 2017-02-24 18:33:43 · 1498 阅读 · 0 评论 -
【深入剖析Tomcat笔记】第四篇 默认连接器
回顾前一篇中,我们将ServerSocket拆分为 Connector、 Processor、 Request、 Response 四个部分。实现了对于简单ServerSocket主要功能拆分。Connector负责ServerSocket创建和socket接入,Processor负责请求解析,Request和Resposne分别对应输入输出。此篇通过研究Tomcat 4中 默认连接器,进一步优化服原创 2017-04-10 23:01:45 · 3019 阅读 · 7 评论 -
【JAVA笔记——道】Java 8的default方法能做什么?不能做什么?
什么是default方法?Java 8发布以后,可以给接口添加新方法,但是,接口仍然可以和它的实现类保持兼容。这非常重要,因为你开发的类库可能正在被多个开发者广泛的使用着。而Java 8之前,在类库中发布了一个接口以后,如果在接口中添加一个新方法,那些实现了这个接口的应用使用新版本的接口就会有崩溃的危险。有了Java 8,是不是就没有这种危险了?答案是否定的。给接口添加default方转载 2018-01-30 15:39:50 · 395 阅读 · 0 评论 -
【Java笔记——术】ASM 反射库介绍
实用范围,读、写,转换和分析类。 不用于类实例化。ASM 库提供两种API 生成转化已编译的class文件。:core API 基于 event 表示 class。 基于 event 模式 class将被表示为一个events序列,每一个event都代表了class中的一个元素,例如header, filed, 方法声明, 方法调用等等。基于event 的API 定义了一个可能发生的e...翻译 2018-06-04 20:18:52 · 1332 阅读 · 0 评论 -
JDK 11主要特性一览
JDK 11主要特性一览jdk11即将在9月25号发布正式版。确定的新特性包括以下17个181 嵌套类可见性控制309 动态文件常量315 改进 Aarch64 Intrinsics318 Epsilon–一个无操作的垃圾收集器320 删除 Java EE 和 CORBA 模块321 HttpClient323 用于 Lambda 参数的局部变量语法324 Curve25519...原创 2018-09-21 21:18:49 · 20861 阅读 · 1 评论 -
JDK 12主要特性一览
JDK12 在2019/03/19终于与大家见面了,不同于JDK11,JDK12并不是一个LTS版本。作为一个中间版本,JDK12版本特性增加较少。2017年宣布的加速发布节奏要求每六个月发布一次功能,每季度更新一次,每三年发布一次长期支持(LTS)更新版本(或每六个版本一次)。下一个LTS版本将是Java 17,计划于2021年9月发布。尽管 Java 11 才发布不久,但距离 Java 12...原创 2019-05-31 23:53:41 · 1388 阅读 · 1 评论 -
【性能优化】记录一次性能瓶颈分析过程
近期接手了一个模型服务性能瓶颈分析的工作,有些许收获,记录如下。QPS 分析该服务之前未做过吞吐量分析,因此首先对该模型做压测,分析服务具体吞吐量。笔者这里选用jmeter做压测分析。设置http请求30种,覆盖全部模型结果,整体测试实际30s。60Request/s * 30s70Request/s * 30s80Per/s * 30s从压测结果来看,请求量=70次/s的时候,服...原创 2019-07-04 13:21:22 · 847 阅读 · 1 评论 -
【JAVA笔记——器】Spring MVC + HATEOAS RestFul快速搭建
Spring实现RestFul快速搭建的实例,适合中高级向,不懂可以私信原创 2016-08-11 15:14:14 · 890 阅读 · 0 评论 -
【JAVA笔记——道】JAVA对象销毁
每一个对象都有两个属性: 1. Reachable可达,Finalizer-Reachable终接器-可达,Unreachable不可达 2. Unfinalized未终结,Finalizable可终结,Finlized已终结对象可达:对象被任意一个存活线程引用。对程序进行优化设计的一种方法是减少原本可达状态的对象。例如,当编译器或代码生成工具不论明确或隐性声明一个变量或者参数时,变量或参数翻译 2016-01-02 08:35:04 · 1633 阅读 · 0 评论 -
【JAVA笔记——器】MyBatis映射以及DAO文件生成工具源码
写了一个工具类,根据Entity自动生成Mapper文件、Dao文件和Impl文件现在只支持Maven_Web项目格式LazyUtils utils = new LazyUtils (Entity.clas)Entity Class需要4层目录结构 例如 com.cunchen.base.entity 对应 com.cunchen.子项目名.实体包生成生成Dao及DaoImpl如下/src/m原创 2016-07-05 22:53:53 · 826 阅读 · 0 评论 -
【JAVA笔记——术】JSP中乱码问题的解决方法
直接用一个模板做的网站,可悲的是这模板质量太差,大部分时间都花在调整乱码问题上的,笔者感觉jsp中的乱码也就这点了。在汇总了网上大部分靠谱的解决方法之后,整理如下。1.html页面的编码规范用户能看到的都是html页面,因此,无论首先应该做到的是静态页面编码的规范。对于JSP页面首行加上2.servlet编码的规范servlet作为中间的控制者,承担了对原创 2014-03-05 10:53:35 · 684 阅读 · 0 评论 -
【JAVA笔记——道】Hibernate 线程本地化基础篇
在进行数据访问的时候每个用户对应一个线程,而原创 2014-08-31 22:46:59 · 1057 阅读 · 0 评论 -
【JAVA笔记——道】JAVA 基本类型内存探究
痴情研究java内存中的对象前记:几天前,在浏览网页时偶然的发现一道以前就看过很多遍的面试题,题目是:“请说出‘equals’和‘==’的区别”,当时我觉得我还是挺懂的,在心里答了一点(比如我们都知道的:‘==’比较两个引用是否指向同一个对象,‘equals’比较两个对象的内容),可是总觉得心里有点虚虚的,因为这句话好像太概括了,我也无法更深入地说出一些。于是看了几篇别人的技术博客,看完后转载 2014-09-04 15:42:11 · 849 阅读 · 1 评论 -
【JAVA笔记——术】java枚举类使用
package com.ljq.test;/** * 枚举用法详解 * * @author jiqinlin * */public class TestEnum { /** * 普通枚举 * * @author jiqinlin * */ public enum ColorEn转载 2014-09-06 23:33:58 · 742 阅读 · 0 评论 -
【JAVA笔记——术】JAVA LIST DEL遍历方式研究
在Java中有时候我们会需要对List里面的符合某种业务的数据进行删除,但是如果不了解里面的机制就容易掉入“陷阱”导致遗漏或者程序异常。本文以代码例子的方式进行说明该问题。1、采用索引下标遍历的方式我们看这段示例代码:view sourceprint?1public class ListRemoveTest {转载 2015-01-28 15:34:51 · 523 阅读 · 0 评论 -
【JAVA笔记——道】深入Java单例模式
深入Java单例模式在GoF的23种设计模式中,单例模式是比较简单的一种。然而,有时候越是简单的东西越容易出现问题。下面就单例设计模式详细的探讨一下。所谓单例模式,简单来说,就是在整个应用中保证只有一个类的实例存在。就像是Java Web中的application,也就是提供了一个全局变量,用处相当广泛,比如保存全局数据,实现全局性的操作等。最简单的实现首先,能够想到的最简单的实现是,把类的构造转载 2015-10-19 11:12:09 · 545 阅读 · 0 评论 -
【JAVA笔记——道】Hadoop设计模式--抽象类
抽象类使用技巧在过去我们进行类的衍生中,使用的比较多的是接口。 接口的自由性和拓展性都是接口的比较重要的优势,因为耦合性的关系,我们都在尽量避免继承,但无可否认,抽象类在一定情况下同样拥有良好的使用效果。正如《JAVA编程思想》所述,每一个JAVA的特性都会拥有用武之地。抽象层 重载在抽象层进行类的重载可以有效减少在实现层进行重载的代码量,特别是对于抽象层延展比较多的代码。以下Demon截取自Ha原创 2015-11-20 17:45:00 · 1331 阅读 · 0 评论 -
【JAVA笔记——道】Class初始化理解
静态域、非静态域、Final、父类以及抽象类正常实例化设置Initalized用于初始化时对于结果进行输出//被实例化类,设置初始方法用于显示初始化标记public class Initalized { public Initalized(String s) { System.out.println(s); }}设置接口类用于测试类继承,设置内容如下interfa原创 2015-12-20 09:16:59 · 2139 阅读 · 0 评论 -
【JAVA笔记——道】JAVA内存操作 sun.misc.Unsafe类
TIP:这是一个很危险的类,不熟悉情况下别用于生产环境我们知道JAVA作为高级语言的重要创新一点就是在于JVM的内存管理功能,这完全区别于C语言开发过程中需要对变量的内存分配小心控制,JVM很大程度解放了码农对于内存的调整。一直以来,JAVA在大多数人心目中没有办法对内存进行操作的,其实不然,Unsafe类就是一把操作JAVA内存的钥匙。//不可以直接被初始化private Unsafe() {}原创 2015-12-24 22:52:34 · 3419 阅读 · 0 评论 -
【JAVA笔记——道】JAVA原子性解决方案java.util.concurrent.atomic
java.util.concurrent是jdk提供在多线程下的原子性解决方案,java.util.concurrent下主要是常用数据结构的原子性实现类,java.util.concurrent.atomic是基础数据类型的原子性实现类AtomicBoolean顾名思义,该类其实是一个原子布尔类 private static final long serialVersionUI原创 2015-12-25 12:06:44 · 831 阅读 · 0 评论 -
【JAVA笔记——术】Java ClassLoader类加载机制详解
Java ClassLoader三种类加载器WIki : Java_ClassloaderJAVA类加载器实现了一部分 JRE加载JAVA CLASSES到 JVM 的功能。ClssLoader 实现了懒加载,并且使得JVM不必关心加载文件以及所使用的文件系统。 类加载器虽然只用于实现类的加载动作,但它在JAVA程序中所起到的作用远远不限于类加载阶段。对于任意一个类,都需要有由加载它的类加载原创 2016-05-29 21:28:16 · 3960 阅读 · 0 评论 -
【JAVA笔记——术】GetResource 实现方式
Java getResource实现方式原创 2016-06-13 11:33:14 · 963 阅读 · 0 评论