随笔分类 - Java
摘要:常见的注解有以下这些,同时当某几个注解被频繁同时使用时,可以将这几个注解组合在一起定义成一个模板注解,来达到复用和简化的目的。
阅读全文
摘要:OOP是通过继承和实现接口达到复用的目的,但它使代码的耦合度增强。 AOP是通过另一种松耦合的方式实现了类共享功能的目的,是OOP的补充。 AOP分为两种方式:注解拦截式和方法规则拦截式。前者在方法上添加自定义注解,然后通过该注解找到相应的方法,后者则是通过类似正则匹配规则来找到相应的方法。然后进行
阅读全文
摘要:Spring4之后推荐使用Java配置,同时也是Spring boot推荐的配置方式。 Java配置是通过@Configuration和@Bean两个注解来实现的,其步骤同注解方式基本一致。 1、编写Bean 注意这就是一个普通的POJO类,并且不带任何注解。 2、编写使用该Bean的类(被注入的类
阅读全文
摘要:一、Spring的演进 1、xml配置 好处是,修改配置时,不需要动代码。缺点是,配置太多,导致业务代码和配置分离之后,业务的全貌被割裂。 2、注解配置 JDK1.5之后,有了注解,Component和Service等注解大大减少了配置量。这时的做法转变为:应用的基本配置(如数据库、MVC)采用xm
阅读全文
摘要:控制反转(IoC)是通过依赖注入实现的。 依赖注入的步骤: 1、编写并声明Bean 声明Bean的注解有:@Component、@Service、@Controller和@Repository等,它们在功能上没有区别,在这里都可以使用,只是它们具有各自的字面意义。 2、编写使用该Bean的类(被注入
阅读全文
摘要:https://github.com/oldratlee/useful-scripts
阅读全文
摘要:Java多线程非常复杂,可以使用BlockingQueue和Executor等工具类来简化使用。但还是要弄清wait()、notify()和notifyAll()的作用和用法。它们都是Object类中的native方法。 一、wait() 作用:告诉当前调用它的方法释放锁并sleep,直到其它某个线
阅读全文
摘要:asm、javassist、cglib。 1、asm 比较底层,使用的visitor设计模式。 官网:https://asm.ow2.io/ 2、javassist 官网:http://www.javassist.org/ 示例: https://www.jianshu.com/p/1e2d970e
阅读全文
摘要:1、Math Math相关的库包括包括浮点库(java.lang.Math和java.lang.StrictMath)和任意精度数学(java.math包)。 (1)java.lang.Math 该类包含执行基本数值运算的方法,如基本指数、对数、平方根、三角函数、弧度/角度、四舍五入以及最大、最小和
阅读全文
摘要:如上图所示,Oracle的Java SE8有两个产品:JDK和JRE。其中,JRE的内容包括图中①~⑤,它是JDK的子集。 ⑥中的红色部分与JRE有重合。 【参考】 1、https://docs.oracle.com/javase/8/docs/
阅读全文
摘要:字符串处理跟抖机灵似得。。。 1、统计字符串中含有子字符串的个数 例如"abcdefgabehab"中含有子字符串"ab"的个数为3。 2、判断字符串是否由数字开头 3、合并字符串中的空格 例如" 1 2 3 4 "合并后变成" 1 2 3 4 "。
阅读全文
摘要:类似SpringMVC项目的异常处理可以这样做: 整个项目创建全局的: 1、一个自定义异常如OneException和错误码,统一封装所有异常。 2、一个返回实体类ResponseEntity,包含返回码code和数据体data,作为所有Controller的返回实体。 3、一个ResponseUt
阅读全文
摘要:How to do in java,https://howtodoinjava.com/,Java手册,分版本,并且有每个版本的新特性的详细解析。 Java World,https://www.javaworld.com/,Java相关的动态、学习分享、开发工具、开源代码和Q&A等。 OpenJDK
阅读全文
摘要:1、JDK自带工具 1)常见的用法参见:https://cloud.tencent.com/developer/article/1379487 2)HSDB,即Hotspot debugger,位置在%JAVA_HOME%/lib/sa-jdi.jar 可查看JVM运行时数据,包括已加载的字节码,命
阅读全文
摘要:我为什么喜欢Java,另一个重要原因就是跨平台,WORA。 程序员是爽了,但肯定有人要为你遮风挡雨,解决WORA的基石就是字节码+虚拟机。 ♣Tip 其实这里存在两种无关性,一是平台无关性、另一个是语言无关性。通过向不同的硬件平台和操作系统提供 不同的JVM实现上层应用和底层平台之间的解耦;另一个,
阅读全文
摘要:一、运行时数据区 JVM在执行Java程序的时候,将其运行时数据区划分为若干不同区域。它们的用途和创建及销毁的时间不同。 1、程序计数器(Program Counter Register) 是一块很小的内存空间。当线程执行的是Java方法,它记录的是当前正在执行的字节码指令的地址;当线程执行的是Na
阅读全文
摘要:0、前言 从这篇随笔开始记录Java虚拟机的内容,以前只是对Java的应用,聚焦的是业务,了解的只是语言层面,现在想深入学习一下。 对JVM的学习肯定不是看一遍书就能掌握的,在今后的学习和实践中如果有领会到的心得和踩过的坑,将会对这些文章进行更新。 另外,人脑更喜欢图胜过文字,有些流程先用文字码在那
阅读全文
摘要:Java9发布已经有一年了,跟Java8相比,从目录对比就看得出来差别相当大。 实际上Java9最大的变化就是JDK模块化(Modular)。 那么,模块化的目的是什么呢? 官方的说法是: 之前版本的Java存在一些问题: 1、JDK和JRE作为一个整体部署,体积太大(JDK8只是rt.jar一个包
阅读全文
摘要:转自:https://blog.csdn.net/iamcaochong/article/details/56008545 1.系统-高级系统设置-环境变量 里面的Path值最前面的C:\ProgramData\Oracle\Java\javapath;去掉; 2.找到控制面板,查看方式选择大图标或
阅读全文
摘要:一般地,servlet、filter、listener是配置到web.xml中(web.xml 的加载顺序是:context-param -> listener -> filter -> servlet ),interceptor不配置到web.xml中,struts的拦截器配置到struts.xm
阅读全文

浙公网安备 33010602011771号