- 博客(34)
- 资源 (1)
- 收藏
- 关注
转载 JAVA逃逸分析、栈上分配、标量替换、同步消除
一、逃逸分析逃逸分析是编译语言中的一种优化分析,而不是一种优化的手段。通过对象的作用范围的分析,为其他优化手段提供分析数据从而进行优化。逃逸分析包括:全局变量赋值逃逸 方法返回值逃逸 实例引用发生逃逸 线程逃逸:赋值给类变量或可以在其他线程中访问的实例变量.public class EscapeAnalysis { public static Object obje...
2019-05-26 13:38:05 274
转载 查看jvm启动参数
原文:https://blog.csdn.net/zhongyisun/article/details/78060759可以采用jcmd来查看正在运行的JVM的参数。jcmd从JDK 7开始引入的一个JVM诊断命令行工具,可以向运行中的JVM发送诊断命令。1.查看JVM进程的PID 或者通过 jps2.jcmd pid VM.flagsorjinfo -flags pi...
2019-05-23 11:06:14 5149
原创 JS实现HashMap
转发 :https://www.cnblogs.com/chunyansong/p/5485759.html/** * ********* 操作实例 ************** * var map = new HashMap(); * map.put("key1","Value1"); * map.put("key2","Value2"); * ...
2019-05-22 11:02:41 630
转载 JVM 之 OopMap 和 RememberedSet
OopMap 用于枚举 GC Roots ;RememberedSet 用于可达性分析。OopMapOopMap 记录了栈上本地变量到堆上对象的引用关系。其作用是:垃圾收集时,收集线程会对栈上的内存进行扫描,看看哪些位置存储了 Reference 类型。如果发现某个位置确实存的是 Reference 类型,就意味着它所引用的对象这一次不能被回收。但问题是,栈上的本地变量表里面只有一部分...
2019-05-13 23:44:00 377
转载 为什么新生代有两个survivor?
利用两个survivor达到新生代无碎片的目的:Eden survivor1 survivor2 old S1、程序初始化,新生代的三个空间均为空S2、Eden被分配的新对象占满,触发第一次Minor GC,Eden中存活对象被复制到Survivor1中,剩余对象被回收(回收后,Eden为空,Survivor1无碎片地存放所有存活对象...
2019-04-11 23:28:02 404
转载 触发JVM进行Full GC的情况及应对策略
转载: https://blog.csdn.net/chenleixing/article/details/46706039/堆内存划分为 Eden、Survivor 和 Tenured/Old 空间,如下图所示:从年轻代空间(包括 Eden 和 Survivor 区域)回收内存被称为 Minor GC,对老年代GC称为Major GC,而Full GC是对整个堆来说的,在最近几个版本...
2018-08-12 17:44:54 208
原创 jstat参数说明
jstat -gccause pid 1 每格1毫秒输出结果jstat -gccause pid 2000 每格2秒输出结果不断的在屏幕打印出结果 S0 S1 E O P YGC YGCT FGC FGCT GCT LGCC GCC 87...
2018-08-12 16:39:01 2342
转载 sql练习题面试题
/*******初始化学生表的数据******/ create table student( sno varchar2(10) primary key, sname varchar2(20), sage number(2), ssex varchar2(5) ); insert into student values ('s001','趙三',23,'男'); insert i...
2018-06-29 14:39:33 1299 4
原创 插入排序
现有一组数组 arr = [5, 6, 3, 1, 8, 7, 2, 4],共有八个记录,排序过程如下:[5] 6 3 1 8 7 2 4 ↑ │ └───┘[5, 6] 3 1 8 7 2 4↑ │└────────┘[3, 5, 6] 1 8 7 2 4↑ │└──────────┘[...
2018-06-29 14:12:03 140
转载 Java深入 - 触发Full GC执行的情况
转:https://blog.csdn.net/initphp/article/details/24994473触发FULL GC的四种情况1. System.gc()方法调用一般情况下禁止使用此方法,让JVM自己决定FULL GC即可。2. 老生代空间不足老生代空间只有在新生代对象转入及创建为大对象、大数组时才会出现不足的现象,会出现FULL GC情况。当执行Full GC后空间仍然不足,则抛出...
2018-06-15 11:21:27 426
转载 JVM频繁Full GC的情况及应对策略
堆内存划分为 Eden、Survivor 和 Tenured/Old 空间,如下图所示:从年轻代空间(包括 Eden 和 Survivor 区域)回收内存被称为 Minor GC,对老年代GC称为Major GC,而Full GC是对整个堆来说的,在最近几个版本的JDK里默认包括了对永生带即方法区的回收(JDK8中无永生带了),出现Full GC的时候经常伴随至少一次的Minor GC,但非绝对的...
2018-06-13 23:07:23 445
原创 Linux定时任务Crontab
vi /etc/crontab #编辑配置文件,在最后一行添加内容30 1 * * * root /home/www.osyunwei.com/osyunwei.sh #表示每天凌晨1点30执行备份/home/www.osyunwei.com/osyunwei.sh #要自动执行的脚本程序路径chmod +x /home/www.osyunwei.com/osyunwei.sh #对脚...
2018-05-09 17:17:39 601
转载 mysql中or和in的效率问题
转:分三中情况进行测试,分别是:第一种情况:in和or所在列为主键的情形。第二种情况:in和or所在列创建有索引的情形。第二种情况:in和or所在列没有索引的情形。每种情况又采用不同的in和or的数量进行测试。由于测试语句的数据量有4种情况,我这里就称为A组、B组、C组、D组,其中A组为3个值,B组为150个值,C组为300个值,D组为1000个测试结果如下:第一种情况,ID列为主键的情况,4组...
2018-05-07 14:49:43 487
转载 redis扣减库存
在日常开发中有很多地方都有类似扣减库存的操作,比如电商系统中的商品库存,抽奖系统中的奖品库存等。解决方案使用mysql数据库,使用一个字段来存储库存,每次扣减库存去更新这个字段。还是使用数据库,但是将库存分层多份存到多条记录里面,扣减库存的时候路由一下,这样子增大了并发量,但是还是避免不了大量的去访问数据库来更新库存。将库存放到redis使用redis的incrby特性来扣减库存。分析在上面的第一...
2018-04-12 16:02:02 1947 1
转载 Spring生命周期
1. 实例化一个Bean,也就是我们通常说的new2. 按照Spring上下文对实例化的Bean进行配置,也就是IOC注入3. 如果这个Bean实现了BeanNameAware接口,会调用它实现的setBeanName(String beanId)方法,此处传递的是Spring配置文件中Bean的ID4. 如果这个Bean实现了BeanFactoryAware接口,会调用它实现的setBeanFa...
2018-04-09 11:24:43 135
转载 MySQL的四种事务隔离级别
转载: https://www.cnblogs.com/huanongying/p/7021555.html本文实验的测试环境:Windows 10+cmd+MySQL5.6.36+InnoDB一、事务的基本要素(ACID) 1、原子性(Atomicity):事务开始后所有操作,要么全部做完,要么全部不做,不可能停滞在中间环节。事务执行过程中出错,会回滚到事务开始前的状态,所有的操作就像没有发生...
2018-04-09 10:44:15 153
转载 Dubbo基本原理机制
分布式服务框架:–高性能和透明化的RPC远程服务调用方案–SOA服务治理方案-Apache MINA 框架基于Reactor模型通信框架,基于tcp长连接 Dubbo缺省协议采用单一长连接和NIO异步通讯,适合于小数据量大并发的服务调用,以及服务消费者机器数远大于服务提供者机器数的情况分析源代码,基本原理如下: client一个线程调用...
2018-03-29 15:20:27 310
转载 Serial,Parallel,CMS,G1四大GC收集器特点小结
地址: https://blog.csdn.net/u011445156/article/details/73441648 1.Serial收集器一个单线程的收集器,在进行垃圾收集时候,必须暂停其他所有的工作线程直到它收集结束。特点:CPU利用率最高,停顿时间即用户等待时间比较长。适用场景:小型应用通过JVM参数-XX:+UseSerialGC可以使用串行垃圾回收器。2.Parallel收集器采用...
2018-03-23 15:25:26 238
转载 为什么要两次调用encodeURI来解决乱码问题
转载:http://blog.csdn.net/howlaa/article/details/12834595.encodeURL函数主要是来对URI来做转码,它默认是采用的UTF-8的编码.. UTF-8编码的格式:一个汉字来三个字节构成,每一个字节会转换成16进制的编码,同时添加上%号.假设页面端输入的中文是一个“中”,按照下面步骤进行解码1.第一次encodeURI,按照utf-8方式获取字...
2018-03-19 11:43:26 194
转载 MySQL explain字段解释
1.select_type simple :它表示简单的select,没有union和子查询 dependent union:union依赖外层的查询 dependent subquery:subquery依赖外层的查询2.type system:表仅有一行,这是const类型的特列,平时不会出现,一般出现在mysql内建系统表中 const :表最多有一个匹配行,const用...
2018-03-16 15:48:27 181
转载 JAVA学习篇--静态代理VS动态代理
转载:http://blog.csdn.net/hejingyuan6/article/details/36203505 本篇博客的由来,之前我们学习大话设计,就了解了代理模式,但为什么还要说呢?原因:1,通过DRP这个项目,了解到了动态代理,认识到我们之前一直使用的都是静态代理,那么动态代理又有什么好处呢?它们二者的区别是什么呢?2,通过学习动态代理了解到动态代理是一种符合AOP设计思想的技术,...
2018-03-16 15:40:41 163
转载 MySQL中的锁(表锁、行锁,共享锁,排它锁,间隙锁)
转载: http://blog.csdn.net/soonfly/article/details/70238902本文参考: http://mysqlpub.com/thread-5383-1-1.html http://blog.csdn.net/c466254931/article/details/53463596 有很多是转载合并过来。锁是计算机协调多个进程或线程并发访问某一资源的机制。在数...
2018-03-16 14:52:29 167
转载 MySQL存储引擎中的MyISAM和InnoDB区别详解
转载 : http://blog.csdn.net/lc0817/article/details/52757194在使用MySQL的过程中对MyISAM和InnoDB这两个概念存在了些疑问,到底两者引擎有何分别一直是存在我心中的疑问。为了解开这个谜题,搜寻了网络,找到了如下信息:MyISAM是MySQL的默认数据库引擎(5.5版之前),由早期的ISAM(Indexed Sequential Acc...
2018-03-16 14:34:47 118
转载 B树与B+树的区别
原创地址: http://blog.csdn.net/zhuanzhe117/article/details/78039692看了很多讲B树和B+树的文章,大多都是围绕各自的特性讲的,第一,树中每个结点最多含有m个孩子(m>=2);第二,……我也是从这些文章里弄懂了各种树的联系与区别,要真写,我可能还不如人家写得好。所以就在这里简明扼要的用几张图记录一下主要区别吧。 为了便于说明,我们先...
2018-03-16 09:36:35 1909
转载 jstat参数说明
jstat -gccause pid 1 每格1毫秒输出结果jstat -gccause pid 2000 每格2秒输出结果不断的在屏幕打印出结果 S0 S1 E O P YGC YGCT FGC FGCT GCT LGCC GCC
2017-08-10 09:04:28 1820
转载 Java对象的强、软、弱和虚引用
转载请标明出处:http://blog.csdn.net/xx326664162/article/details/50073687文章出自:薛瑄的博客你也可以查看我的其他同类文章,也会让你有一定的收货!在JDK1.2以前的版本中,当一个对象不被任何变量引用,那么程序就无法再使用这个对象。也就是说,只有对象处于可触及状态,程序才能使用它。这就像在日常生活中,从商店购买了某样物品后,如果...
2017-07-12 11:44:48 222
转载 JVM性能调优监控工具jps、jstack、jmap、jhat、jstat、hprof使用详解
转至 : https://my.oschina.net/feichexia/blog/196575 现实企业级Java开发中,有时候我们会碰到下面这些问题: OutOfMemoryError,内存不足 内存泄露 线程死锁 锁争用(Lock Contention) Java进程消耗CPU过高 ...... 这些问...
2017-06-29 17:28:37 272
原创 stop-the-world STW
转至: http://f.dataguru.cn/thread-363910-1-1.html"stop-the-world" 机制简称STW,即,在执行垃圾收集算法时,Java应用程序的其他所有除了垃圾收集帮助器线程之外的线程都被挂起Java中一种全局暂停的现象全局停顿,所有Java代码停止,native代码可以执行,但不能和JVM交互多半由于GC引起
2017-06-24 17:08:09 480
转载 Serial,Parallel,CMS,G1四大GC收集器特点小结
原创地址: http://blog.csdn.net/u013812939/article/details/487823431.Serial收集器一个单线程的收集器,在进行垃圾收集时候,必须暂停其他所有的工作线程直到它收集结束。特点:CPU利用率最高,停顿时间即用户等待时间比较长。适用场景:小型应用通过JVM参数-XX:+UseSerialGC可以使用串行垃
2017-06-18 22:56:44 303
转载 JVM的新生代内存中,为什么除了Eden区,还要设置两个Survivor区?
在我的上一篇博客中,介绍了JVM堆内存的结构以及在堆中进行的GC机制,链接是浅谈JAVA GC机制与性能优化那么,在JVM的新生代内存中,为什么除了Eden区,还要设置两个Survivor区?1 为什么要有Survivor区先不去想为什么有两个Survivor区,第一个问题是,设置Survivor区的意义在哪里? 如果没有Survivor,Eden区每进行一次M
2017-06-18 22:53:25 4306
转载 log4j日志输出性能优化-缓存、异步
1、log4j已成为大型系统必不可少的一部分,log4j可以很方便的帮助我们在程序的任何位置输出所要打印的信息,便于我们对系统在调试阶段和正式运行阶段对问题分析和定位。由于日志级别的不同,对系统的性能影响也是有很大的差距,日志级别越高,性能越高。 2、log4j主要分为error,warn,info,debug四个级别,也是使用最多的四种,日志级别从左至右依次增加。 3、log4j
2017-06-06 14:51:56 905
转载 在Linux中以命令行方式安装 MySQL 5.7.11 for Linux Generic 二进制版本
转至: http://www.cnblogs.com/cyberniuniu/p/5273961.htmlMySQL 目前的最新版本是 5.7.11,在 Linux 下提供特定发行版安装包(如 .rpm)以及二进制通用版安装包(.tar.gz)。一般情况下,很多项目都倾向于采用二进制通用安装包形式来进行安装配置,自定义非常方便。但在安装过程中发现,其实官方提供的安装说明文件太过简单,而且里
2017-06-05 13:44:57 299
转载 Linux中切换用户变成-bash4.1-$的解决方法
在Linux中切换用户时变成-bash4.1-$,发现有两个情况可能会出现这种现象。场景一:1、在根目录下创建目录dir 2、useradd -d /dir tom 创建用户tom,指定其家目录为/dir,而不是其默认家目录下(/home/tom) 3、su - tom 切换到tom用户,出现-bash-4.1$原因分析:如果我们没有改变用户的家目录
2017-06-05 09:56:58 681
转载 eclipse设置xsd
转至: http://blog.csdn.net/LXB15959168136/article/details/50225057使用dubbo时遇到问题org.xml.sax.SAXParseException: schema_reference.4: Failed to read schema document 'http://code.alibabatech.com/sc
2017-01-21 14:17:11 925
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人