![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
ymwang7
http://ymwang7.xyz/
展开
-
Java正则表达式
这两天一直纠结正则表达式的问题,今天就摘录相关知识和总结吧! 正则表达式定义了字符串的模式。谈到java正则表达式,就离不开java.util.regex这个包。这个包下主要有Pattern 类、Matcher 类、PatternSyntaxException(表示出现的语法错误)。 简单说下正则表达式的语法;(菜鸟教程摘录)字符原创 2017-08-18 22:44:53 · 168 阅读 · 0 评论 -
concurrenthashmap和hashtable区别
hashtable(同一把锁):使用synchronized来保证线程安全,但效率非常低下。当一个线程访问同步方法时,其他线程也访问同步方法,可能会进入阻塞或轮询状态,如使用put添加元素,另一个线程不能使用put添加元素,也不能使用get,竞争会越来越激烈效率越低。concurrenthashmap(分段锁):(锁分段技术)每一把锁只锁容器其中一部分数据,多线程访问容器里不同数据段的数据,就原创 2017-12-04 19:10:12 · 2436 阅读 · 0 评论 -
JVM类加载机制
类文件结构class文件中包含java虚拟机指令集和符号表以及若干其他辅助信息class文件是一组以8位字节为基础单位的二进制流魔数:class文件的头4个字节,作用是确定这个文件是否为一个能被虚拟机接受的class文件接着魔数的4个字节存储的class文件的版本号常量池:字面量(文本字符串和final)和符号引用虚拟机类加载机制类的加载,类连接,初始化在程序运行期间完原创 2017-12-04 19:08:30 · 203 阅读 · 0 评论 -
JVM垃圾收集器
垃圾收集器:1,Serial收集器:必须暂停其他所有的工作线程,直到他收集结束(单线程)2.ParNew收集器:就是多线程版的Serial3. Parallel Scavenge收集器:使用复制算法,并行多线程。目标达到一个可控制的吞吐量(适合在后台运算而不需要太多交互的任务)4,Serial Old收集器:单线程,老年代版本5,Parallel Old 收集器:使用多线程和标原创 2017-12-04 19:07:21 · 127 阅读 · 0 评论 -
jvm垃圾收集器与内存分配
垃圾收集器与内存分配:(可达性分析算法判定对象是否存活GC Roots)1:强引用:只要引用存在就永远不会回收掉被引用的对象2.软引用:有用但非必须的对象3弱引用:非必须对象,生存到下一次垃圾回收前4.虚引用:目的能在回收时收到一个系统通知finalize()方法是对象逃脱死亡命运的最后一次机会(只会被系统自动调用一次)垃圾回收算法1.标记-清除算法(Mark-原创 2017-12-04 19:06:20 · 124 阅读 · 0 评论 -
JVM内存管理
内存管理:(程序计数器虚拟机栈本地方法栈跟随线程同生共死)虚拟机栈:局部变量表(基本数据类型,对象引用),操作数栈,动态链接,方法出口 outofmemoryError和stackoverflowerror程序计数器:字节码的行号指示器,不会outofmemoryError本地方法栈:虚拟机使用到的native方法(java调用非java代码的接口)outofmemoryError原创 2017-12-04 19:05:02 · 150 阅读 · 0 评论 -
Spring Boot中使用Swagger2构建强大的RESTful API文档
由于Spring Boot能够快速开发、便捷部署等特性,相信有很大一部分Spring Boot的用户会用来构建RESTful API。而我们构建RESTful API的目的通常都是由于多终端的原因,这些终端会共用很多底层业务逻辑,因此我们会抽象出这样一层来同时服务于多个移动端或者Web前端。这样一来,我们的RESTful API就有可能要面对多个开发人员或多个开发团队:IOS开发、转载 2017-08-29 15:39:43 · 290 阅读 · 0 评论 -
Spring AOP详解
看到了一篇关于aop博文写得还不错,就转载来学习一下,博文地址:http://www.cnblogs.com/xrq730/p/4919025.htmlAOPAOP(Aspect Oriented Programming),即面向切面编程,可以说是OOP(Object Oriented Programming,面向对象编程)的补充和完善。OOP引入封装、继承、多态等概念来建立一种对转载 2017-08-22 14:20:20 · 225 阅读 · 0 评论 -
VO、DTO、DO、PO的概念、区别和用处
概念: VO(View Object):视图对象,用于展示层,它的作用是把某个指定页面(或组件)的所有数据封装起来。 DTO(Data Transfer Object):数据传输对象,这个概念来源于J2EE的设计模式,原来的目的是为了EJB的分布式应用提供粗粒度的数据实体,以减少分布式调用的次数,从而提高分布式调用的性能和降低网络负载,但在这里,我泛指用于展示层与服务层之间的数据传输对象。转载 2017-08-22 09:32:37 · 225 阅读 · 0 评论 -
对java平台的理解
理解一:“一次编译、到处运行”说的是Java语言跨平台的特性,Java的跨平台特性与Java虚拟机的存在密不可分,可在不同的环境中运行。比如说Windows平台和Linux平台都有相应的JDK,安装好JDK后也就有了Java语言的运行环境。其实Java语言本身与其他的编程语言没有特别大的差异,并不是说Java语言可以跨平台,而是在不同的平台都有可以让Java语言运行的环境而已,所以才有了Java一...原创 2018-12-09 20:38:06 · 163 阅读 · 0 评论