首先附上线程池知识点详解 示例代码 import java.util.Date; import java.util.concurrent.*; public class ThreadPoolTest...4,最大线程数为5,空闲存活时间为0,阻塞队列为 4 1-4个任务到来的时候,都会启用核心线程来执行任务 5-8个任务到来的时候,会进入阻塞队列等待 第9个任务来的时候,核心线程数和阻塞队列都已经达到上限...)只是一个临时工,保证不能进入阻塞队列的部分任务可以得到执行,在执行完任务后会根据构造函数配置的空闲存活时间,在指定时间销毁,而核心线程一经创建则不会销毁 总结 如果当前线程池中的线程数目小于corePoolSize...;若添加失败(一般来说是任务缓存队列已满),则会尝试创建新的线程去执行这个任务; 如果当前线程池中的线程数目达到maximumPoolSize,则会采取任务拒绝策略进行处理; 如果线程池中的线程数量大于...corePoolSize时,如果某线程空闲时间超过keepAliveTime,线程将被终止,直至线程池中的线程数目不大于corePoolSize;如果允许为核心池中的线程设置存活时间,那么核心池中的线程空闲时间超过
Java初涉感悟 (原创内容,转载请注明来源,谢谢) 一、概述 近期要接触到一些PHP转Java项目,用到的java框架是SpringBoot,故学习一些java的基础,以及spring boot的相关知识...java各种精确的定义,也使得其能够足够高效,因为谨慎的定义对不同的使用场景都是具有重要意义。...五、Spring Boot 这是java的一个框架,是java的Spring下的一个框架。...近期,自从接触到IntellijIDEA+Maven+Spring Boot,让我原先对java的复杂配置、复杂加载、复杂编程有了极大的改观。...六、小结 近期刚接触到java,感悟就是这些,近期将不断在php和java中切换,对于我没怎么接触过强类型语言的来说,是一个不小的挑战。
不断发掘自动化测试对各个团队的附加价值,这样才能得到来自四面八方的支持 没有将自动化加入项目过程的自动化都达不到预期的效果 UI自动化框架 把UI自动化框架设计成一个拼图性质的架构。...,提高测试质量 5.录制回放,关键字驱动,可视化等一般不是好的选择,因为他们会增加6.脚本维护的难度,增加维护成本 7.任何增加维护成本的自动化工作都是在耍流氓 如何减少自动化维护成本?...1、清晰、方便的日志查看 2、清晰整洁的测试报告 3、快速的脚本调试 4、快速的错误定位方式:如截图、错误日志、录屏 5、严格的脚本规范 6、在策略上,脚本慢慢上,要非常稳定了才能上线到正式环境...为了不做手工测试,就要多加很多验证点,特别是UI的验证点。验证点越多,就会导致自动化越不稳定,自动化的维护成本就会越高, 你对自动化的信心就会越低,自动化的成效也会越低。...- 我们不使用自动化去保证UI的准确性,而是去进行逻辑功能的测试。比如QQ的登录功能,我们只要验证点击登录后打开了好友列表,就说明登录成功了。就是要怎么稳定怎么弄。
当我们对代码感到不太自信时,我们很容易将自我价值与自信感联系到一些可衡量的标准。例如一组严格的代码规则、一个确定的命名策略、一个明确的文件结构和没有重复的「干净」代码等。...一旦我们学会了创建 Abstraction,就很容易对这种能力产生很高的期望,并且每当我们看到重复代码就会想起一种「高效」的抽象方法。...即使这是一种进步,那也是一种非常糟糕的方式。一个健康的工程团队需要不断建立信任,在没有讨论的情况下重写同事的代码是对协作的一个打击。...如果我们对自己代码感到比较满意,那么追求更干净的代码是非常好的,我们可以在这个阶段持续做一段时间。 但不要止步于此,不要做一个干净代码的狂热推崇者。...干净的代码并不是最终目标,只是我们在处理复杂系统的一个尝试。我们可能并不知道这种修改最终对代码库有什么样的影响,但是干净的代码会指引一条明路,至少这个方向是对的。
高并发编程、分布式框架、Spring等常用框架可以说是现在Java后端求职的必备技能。...能完善的解决这些问题是区分一个程序员是否有经验的重要标志,知识的体系化是可以从书本不断的凝练来获得,但经验的积累需要通过实战的不断总结。...对很多人来说很为难的一点是,平时写着的业务代码,很少有机会接触到大厂的优秀实践,那么这时候更需要从如下两个角度逼问: 1、当流量规模再提高几个量级,那么我的系统会出现什么问题?...如果你参加过一些大厂面试,还会问到一些开放性的问题: 1、 写一段程序,让其运行时的表现为触发了5次Young GC、3次Full GC、然后3次Young GC; 2、 如果一个Java进程突然消失了...如果你不了解GC的触发条件,你就肯定无法答出第一题;同样,如果你对Spring启动机制了解的很清楚,那么无论他给出的是什么样的代码,你都能回答出代码经历的过程。
做人力资源数据分析的项目差不多有6年的时间,从最开始的企业内训,到线上课程项目,线下公开课,企业内训,差不多做了100场的内训和公开课,从去年开始数据化的转型开始成为了很多机构和企业特别关注的话题,...一、行业背景 数据化的转型是现在企业未来的发展的一个趋势,很多企业从去年开始做数据化的信息系统的搭建,购买第三方的系统,做企业的ERP,实现企业的数据化转型。...对于企业里的各个模块的重要度而言,销售,供应链,制造是现阶段企业关注的数据化转型的重点模块,人力资源其实还是停留在数据的标准化和基本数据查询分析的状态。...很少有企业能把人力资源模块的数据和公司整体的数据进行接入,综合的结合财务数据,营收数据,人力数据来进行人力成本,人效的数据分析,对于企业的管理者来说在现在这个阶段对人力资源的数据化转型还是处于基础的阶段...我觉的现在这个阶段的人力资源数据化转型,还不够上升到这么高的高度,人力资源不像零售,电商有十几年的数据分析经验积累,人力资源的数据分析也是最近几年才提出的概念,连最基础的底层的概念,模型都还没有梳理好,
这里简单介绍一下 堆内存: 堆内存是Jvm所管理的内存,相比方法区,栈内存,堆内存是最大的一块。所有的对象实例实例以及数组都要在堆上分配。 Java的垃圾收集器是可以在堆上回收垃圾。...直接内存: JVM使用Native函数在堆外分配内存,之后通过Java堆中的DirectByteBuffer对象作为这块内存的引用进行操作。直接内存不会受到Java堆的限制,只受本机内存影响。...Java的GC只会在老年区满了触发Full GC时,才会去顺便清理直接内存的废弃对象。 JDK原生缓冲区ByteBuffer ---- 在NIO中,所有数据都是用缓冲区处理的。...Netty的ByteBuf ---- Netty使用的自身的ByteBuf对象来进行数据传输,本质上使用了外观模式对JDK的ByteBuffer进行封装。...2.Netty中的内存泄露检测是通过对ByteBuf对象进行装饰,利用虚引用和引用计数来对非池中的直接内存和内存池中内存进行跟踪,判断是否发生内存泄露。
很荣幸,有机会可以沈小某一起搭建一个赋能SaaS平台,今日对SaaS产生了一些感悟,与你分享~ 使用产品的各类角色不但可以看到平台的赋能价值,还可以更好的实现自身价值!...行业内的问题解决方案的交流社区,不但可以请教学习,还能真正的解决实际应用中的问题,这就很好了!...这些属于参与活动的过程需要考虑的事 活动监测:既然有用户端的活动数据,必然对应着有后台的监测数据,比如活动数据的实时更新、用户地图的埋点设计等等。...价值观 价值观对于产品经理来说可能有些不接地气,但其实做过众多项目之后就会发现,产品对客户群体产生的价值往往会影响到产品的性格,跟随产品的性格来设计,内心会幸福感爆棚~ 无论是一个完整的项目,或者一个小小的优化...希望我的分享对你有用,别怕,你并不孤独!
大家好,又见面了,我是你们的朋友全栈君。...Properties类(读入写出 键值对) 是Map子类Map方法都能用 public static void main(String[] args) throws IOException { //...(“F:\\Demo.properties”); //FileReader fr=new FileReader(“F:\\Demo.properties”); pro.load(fis);//读取键值对...fis.close(); //fr.close(); //写入 Properties pro=new Properties();//创建集合 pro.setProperty(“name”,”lisi”);//写入键值对
,而最新的核心技术它肯定是开源的 这个观点让我很新奇,话说软件工程的三大要素,工具,方法和过程,核心技术可以认为是先进的工具。...毕竟先进的工具就是先进的生产力,而工具便是在软件开发过程中永远被追求的一个点。...贡献开源项目 2 构建更多可共享的云原生服务 单体架构强调的是以对象为中心,云架构强调的是以服务为中心。...与阿里巴巴早期的开源不同,阿里巴巴新一轮的开源包括 RocketMQ,Pouch Container,Dubbo, Nacos, Sentinel 等开源产品更强调社区化的发展与社区的多样性,鼓励更多的公司和更多的开发者参与到开源项目中来...Cloud Native原本关注的就是架构的设计和对云基础设施的利用,但也涉及到了流程和工具。 云端架构对于初创企业的最大价值在于它能简化运维。
这是知乎上的一个热榜问题: 我也回答了这个问题,不到一天时间点赞就近1000,阅读几十万。 分享下我对王兴的一些看法: 王兴牛逼在他的认知能力和迭代速度。...王兴在创立美团之前,有过多次创业失败的经历,但王兴一直在坚持对互联网、对新业态的深度思考。...65.人人都是产品经理,产品即自己的一生。 66.「对未来越有信心,对现在越有耐心」。...,或者,没躲开...... 106.对三观的不同排序可能反映了人的不同思维模式。...就算后者比起前者正确的可能性更高,但是对你又有什么益处呢? 170.科学可能是所有信仰中最特殊的一种。其他信仰都告诉你,要信我,一定要信我,只能信我;而科学告诉你,永远不要太确信,包括对我。
公司在裁员的过程中有很多要裁员的迹象,我会在另外一篇文章中对我遇到的一些裁员信号设置一些雷区和警告,当你遇到上面的这些信号的时候,直觉告诉你需要马上考虑寻找下一个替代方案了。...虽然这个职位并不意味着你对其他同事而言能够获得更多的有效信息,但是通常可能会让自己与上级有更好的沟通管道。但是,非常不幸的是这家公司的沟通渠道非常有问题。...因为负责相关开发部分的副总是从 PHP 转 Java 的,对 Java 的很多情况都不非常明确,所以他非常依赖一个架构师。但,公司大部分人都认为这个架构师的要求是错误的,并且是非常愚蠢的。...在这次谈话后,我更加坚信让我的组员找下一家的信息了,对他们中途要面试其他公司我都放开一面。非常不幸的,我自己那该死的拖延症,我是把我自己的简历准备好了,但是还没有来得及投就等来了真正裁员的这一天。...第二个会议就是 P&C,这个会议主要就是和你说说被裁员后可以有的一些福利和什么的,对我个人来说我更关注的是补偿。
需要两个包的支持 jedis-2.1.0.jar commons-pool-1.5.4.jar 一个连接池一个工具类 pool代码 1 public class RedisUtil { 2...= null) { 50 jedisPool.returnResource(jedis); 51 } 52 } 53 } 工具类的代码 1 public...jedis.del("name"); //删除某个键 14 System.out.println(jedis.get("name")); 15 } 实际上 set就包括插入修改的功能
和我争执的似乎是我的家人,但是又似乎是我自己,总之那人非是不肯被我说服,我要喊我要新的不一样的东西,我不要永永远远都是原来的样子,那人轻视我的要求,我在梦里有话说不出难受极了,直到舍友伸过手来轻轻把我摇醒...我醒来之后脑海中最后一个画面是我愤怒的撕下了和原先家里完全一样的壁纸的一角。 醒来之后我立刻懂得了这个梦境的隐喻。 总是觉得自己这里要改那里要改心急的不行,可是我的行动似乎没跟得上我的情急。...大部分时间我还是躲在自己的壳子里,把有限的几个人圈在里面,屏蔽外界的信号。 在微信上懂得引导话题接话的我,生活中其实一直对交往持排斥态度。...别人不说话我便不说话,别人问一句我便答一句,最要命的是,我的回答方式是“终结话题式”的,这可能反映了我在别人靠近的时候,第一反应是躲。...这几乎成了我的思维定式,习惯性给出最简单粗暴,最能赶快从别人的问询回到自己的壳子里的答案。 过往的事情塑造了现在的我,可这并不成为我自怨自艾的理由,换了环境不能拯救我,除非我自己改变。
本文主要包括Java如何处理信号,直接上代码。 1....在Linux下支持的信号(具体信号kill -l命令查看): SEGV, ILL, FPE, BUS, SYS, CPU, FSZ, ABRT, INT, TERM, HUP, USR1, USR2,...QUIT, BREAK, TRAP, PIPE 在Windows下支持的信号: SEGV, ILL, FPE, ABRT, INT, TERM, BREAK 备注:通过k8s结合java支持的信号处理eureka
有时候感觉要把技术全部写出来还是有点难度,要迭代的东西太多,想法太多,一点一点实现自己吹的牛,其实想想还是蛮有意思的。 比如一天的事情自己就做了以下的事情。...,对系统使用率做了统计和分析 6.配置管理Channels 除此之外还包括至少另外5件工作方向和工作之外的事情,比如帮助网友处理RMAN的问题,协调沙龙的事宜。。。。...看起来一团乱麻,我挑几件事情来说下自己的感悟吧。...元数据写入的工作主要是一个自动完成的过程,除此之外可以提供批量的数据导入,总体来说,数据通道应该是一个统一的入口。...管理的艺术,其实很多人到了一定段位都会碰到。怎么样的管理是好的管理方式,有一道教科书式的题目。 有三个士兵偷溜出去玩,兵营的门禁是晚上10点,现在已是9点9分,他们离兵营12公里。
常用的虚拟机有VMWare,Visual Box,Java Virtual Machine(Java虚拟机,简称JVM)。...… 启动流程 基本架构 Java运行时编译源码(.java)成字节码,由jre运行。...通过对象是否有到达引用链的路径来判断对象是否可被回收(可作为GC ROOTs的对象:虚拟机栈中引用的对象,方法区中类静态属性引用的对象,方法区中常量引用的对象,本地方法栈中JNI引用的对象) 2.Java...增量收集把对堆空间划分成一系列内存块,使用时先使用其中一部分,垃圾收集时把之前用掉的部分中的存活对象再放到后面没有用的空间中,这样可以实现一直边使用边收集的效果,避免了传统分代方式整个使用完了再暂停的回收的情况...2.分代收集:(商用默认)基于对象生命周期划分为新生代、老年代、元空间,对不同生命周期的对象使用不同的算法进行回收。
即第三章的第一节。所以只能总结到这里。 第一章可以总结为高手的捷径:懂得借助外力。第二章是战略篇,站在一个更高的高度而不是一时的得失来部署战略。...书中警句 不要以战术上的勤奋掩饰战略上的懒惰 有条不紊的奋斗前行,舒展从容的恬静人生 放大自己的努力 站位比努力更重要 感悟思考 案例1:吃鸡腿 我小时候,家里四口人。...吃鸡的时候是这么分的:我哥两个鸡大腿、爸是鸡胸肉、妈是鸡头和脖子、我是两个鸡翅膀。虽然我妈的月薪高于我爸8块钱,饭桌上男尊女卑的地位还是不可动摇的。 ...所以现在的习惯,别人再怎么说鸭脖鸭头好吃,我就是喜欢吃大腿。肥肥的大腿肉会一点不浪费的全保留到我身上。也就是这两天发烧发的终于瘦回100斤了。 ...因为每次站位的时候,我都站在远离人群的地方。而另一队总是向人多的地方砸。所以算是一个战略取胜。 这种战略是符合书中介绍的「幂律分布」。不要把自己置于火力最集中的地方。
这是大概3、4年前我写的一篇文章,即使现在重读,也感觉当时自己的想法非常有道理,分享给大家,希望对你有所帮助 万事开头难。...当我想要认真写一篇文章向大家分享我对前端的认识与感悟的时候,突然就深刻的体会到了这句话确实太有道理了。 最近几年对于web前端的传闻很多,比如人才稀缺,简单易学,待遇丰厚,整体势头发展良好等等。...曾看到过有人对前端市场人才的稀缺这样吹捧过: 现在,几乎整个互联网行业都缺前端工程师,不仅在刚起步的创业公司,对上市公司乃至巨头这个问题也一样存在。没错,优秀的前端工程师简直比大熊猫还稀少。...有一个很普遍的假象是,互联网时代似乎获取知识越来越容易,很多人都在担忧所谓的信息过剩的问题。然而实际情况却是,我们更加难以捕捉到对我们来说真正有用的信息。...感悟就是万事开头难,中间难,结尾也难。
网上有很多说明两者区别的文章我就不赘述了,这里只发一些自己的小感悟。...var 在一个函数里定义 也在这个函数的if语句块里定义的话 ,对这个函数的整个区域来说 这个变量是同一个变量, let 则更细分到像if这样的代码块中 。...也就是 var是 全局变量和函数体里局部变量的区分 ,而let 则是全局变量 和任何一个代码块中变量的区分。 在一同一个代码区间 let声明不能出现两次,而var可以
领取专属 10元无门槛券
手把手带您无忧上云