- 博客(10)
- 资源 (3)
- 收藏
- 关注
转载 Java 垃圾回收算法之G1
G1(Garbage-First)回收器是在JDK1.7中正式使用的全新垃圾回收器,G1拥有独特的垃圾回收策略,从分代上看,G1依然属于分代垃圾回收器,它会区分年代和老年代,依然有eden和survivor区,但从堆的结构上看,它并不要求整个eden区、年清代或者老年代都连续。它使用了全新的分区算法。其特点如下: 并行性:G1在回收期间,可以由多个GC线程同时工作,有效利用多核计算能力。...
2019-10-24 20:29:16 3548
转载 微服务架构下一致性最佳实践
在开发或软件架构的过程中,经常会遇到一致性的问题。尤其是在微服务架构下,每个微服务都有自己的数据库,导致微服务架构的系统不能简单地满足 ACID,我们就需要寻找微服务架构下的数据一致性解决方案。传统情况下,当一个事务要跨越多个分布式服务时,开发者想到的第一个方案就是两阶段提交——2PC。在这个过程中,事务协调者(事务管理器)给每个参与者(资源管理器)发送 Prepare 消息,如果参与者有可用...
2019-10-24 17:47:04 314
转载 Java堆外内存:堆外内存溢出问题排查
一、堆外内存组成通常JVM的参数我们会配置-Xms 堆初始内存-Xmx 堆最大内存-XX:+UseG1GC/CMS 垃圾回收器-XX:+DisableExplicitGC 禁止显示GC-XX:MaxDirectMemorySize 设置最大堆外内存,默认是-xmx-survivor,也就是基本上和-xmx大小相等-Xss:每个线程的堆栈大小,默认1M-Xmn: 年...
2019-10-24 17:37:56 2450
转载 Java堆外内存:堆外内存回收方法
一、JVM内存的分配及垃圾回收 对于JVM的内存规则,应该是老生常谈的东西了,这里我就简单的说下: 新生代:一般来说新创建的对象都分配在这里。 年老代:经过几次垃圾回收,新生代的对象就会放在年老代里面。年老代中的对象保存的时间更久。 永久代:这里面存放的是class相关的信息,一般是不会进行垃圾回收的。JVM垃圾回收 由于JVM会替我们执行垃圾回收,因此开发者根本...
2019-10-24 17:36:37 6837 1
原创 深入分析 ThreadLocal 内存泄漏问题
由于ThreadLocalMap的生命周期跟Thread一样长,如果没有手动删除对应key就会导致内存泄漏,我觉得是这种数据结构导致,会产生内存溢出的问题Java为了最小化减少内存泄露的可能性和影响,在ThreadLocal的get,set的时候都会清除线程Map里所有key为null的value。所以最怕的情况就是,threadLocal对象设null了,开始发生“内存泄露”,然后使用...
2019-10-24 17:26:08 227
转载 支撑百万并发的“零拷贝”技术,你了解吗?
零拷贝(Zero-copy)技术指在计算机执行操作时,CPU 不需要先将数据从一个内存区域复制到另一个内存区域,从而可以减少上下文切换以及 CPU 的拷贝时间。作者:陈林来源:51CTO技术栈|2019-09-23 08:46【51CTO.com原创稿件】零拷贝(Zero-copy)技术指在计算机执行操作时,CPU 不需要先将数据从一个内存区域复制到另一个内存区域,从而可以减少...
2019-10-24 10:44:49 298
转载 JVM内存参数设置及常见错误总结
一、JVM规范JVM规范对Java运行时的内存划定了几块区域(详见这里),有:JVM栈(Java Virtual Machine Stacks)、堆(Heap)、方法区(Method Area)、常量池(Runtime Constant Pool)、本地方法栈(Native Method Stacks),但对各块区域的内存布局和地址空间却没有明确规定,而留给各JVM厂商发挥的空间。...
2019-10-16 17:28:41 1182
转载 mysql Insert on duplicate引发的死锁
表CREATE TABLE `test_dup` (`id` int(11) NOT NULL AUTO_INCREMENT,`num` int(10) unsigned DEFAULT NULL,`name` varchar(45) DEFAULT NULL,PRIMARY KEY (`id`),UNIQUE KEY `num_index` (`num`)) ENGI...
2019-10-16 13:50:33 2509
转载 Java的ClassLoader
ClassLoader 做什么的?顾名思义,它是用来加载 Class 的。它负责将 Class 的字节码形式转换成内存形式的 Class 对象。字节码可以来自于磁盘文件 *.class,也可以是 jar 包里的 *.class,也可以来自远程服务器提供的字节流,字节码的本质就是一个字节数组 []byte,它有特定的复杂的内部格式。有很多字节码加密技术就是依靠定制 Cl...
2019-10-15 14:38:28 119
原创 DeepCTR-Torch,基于深度学习的CTR预测算法库
点击率预估问题点击率预估问题通常形式化描述为给定用户,物料,上下文的情况下,计算用户点击物料的概率即:pCTR = p(click=1|user,item,context)。简单来说,在广告业务中使用pCTR来计算广告的预期收益,在推荐业务中通过使用pCTR来确定候选物料的一个排序列表。DeepCTR-Torch人们通过构造有效的组合特征和使用复杂的模型来学习数据中的模式来提...
2019-10-11 14:57:00 1180
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人