之前我用 Java 8 写了一段逻辑,就是类似下面这样的例子: /* * 来源公众号:Java技术栈 */ if(xxxOrder != null){ if(xxxOrder.getXxxShippingInfo() != null){ if(xxxOrder.getXxxShippingInfo().getXxxShipmentDetails() != null){ if(xxxOrder.getXxxShippingInfo().getXxxShipmentDetails().getXxxT…
看了这个Java实习生入职测试题后,幸亏我不是实习生 一个Java实习生的入职测试题,你能答对几个? 今天在某APP中看到,有实习生放出的Java实习生入职测试题.看完之后,很庆幸自己不是实习生. 本文来源:公众号:凯哥Java(kaigejava) 个人博客:www.kaigejava.com 我们来一起看看题目吧: 1:String类为什么是fianl的? 2:JDK8中的HashMap的源码,实现原理,底层结构? 3:反射中,Class.forName和classloader的区别? 4:…
看过无数Java GC文章,这6个问题你也未必知道! 读者朋友们可能已经看过太多关于Java垃圾回收相关的文章,如果没有,墙裂安利大家看下面这篇: 看完这篇垃圾回收,和面试官扯皮没问题了 本文不再重复谈GC算法以及垃圾回收器,而是谈谈在GC发生的时候,有几个可能被忽略的问题.搞懂这些问题,相信将对GC的理解能再加深几分. 本文主要内容 - Q1: GC工作是如何发起的? - Q2: Stop The World到底如何让Java线程都停下来? - Q3: 如何找到GC Roots? - Q4:…
    总结1: 今天找到了昨天scanf的问题答案,scanf与printf一样的神奇而复杂,稍不留神,就会被坑.scanf函数在读入非空白符分割的多个字符串的解决方法是这个:/* 以 | 分割 */ scanf("login|%d|%[^|]|%[^|]", &type, name, password); 总结2:C++排错是个苦活,又无法避免减轻,不要stl也不能不用<string>吧.倒不是python宠坏了程序员,而是C++本身语法复杂,层次繁杂,过于抽象…
你好呀,我是沉默王二,一个和黄家驹一样身高,和刘德华一样颜值的程序员.为了提高 Java 编程的技艺,我最近在 GitHub 上学习一些高手编写的代码.下面这一行代码(出自大牛之手)据说可以征服你的朋友,让他们觉得你写的代码很 6,来欣赏一下吧. IntStream.range(1, 5).boxed().map(i -> { System.out.print("Happy Birthday "); if (i == 3) return "dear NAME"…
之前写的一篇我去阅读量非常不错,但有一句留言深深地刺痛了我: 培训班学习半年,工作半年,我现在都看不懂你这篇文章,甚至看不下去,对于我来说有点深. 从表面上看,这句话有点讽刺我的文章写得不够通俗易懂的意味,但我心胸一直如大海一般开阔,你了解的.所以,我回他,"你还不如把培训费给我,哈哈."怎么样,你也能体会到我的幽默,以及无情吧?当然了,是时候写一篇文章(也许是一个系列哦)照顾一下顾小白群体的情绪了,帮他们入入门或者回炉再造下. 众所周知,Java 是一门面向对象的编程语言.它最牛逼的…
新片上映后,很多人都会选择去电影院观看,一是为了第一时间看到电影,还有一个原因就是电影院的音效往往可以让人身临其境,更好地感受电影的氛围.那如果在家刷片我们该怎么办呢? 我们可以使用Boom 3D这款软件,让你在电脑前就有3D 影院的音效享受.Boom 3D适用于多种类型的耳机,带来丰富和强烈的音频增强效果. 第一步:下载并安装软件 安装Boom 3D,官网提供可下载软件的链接,选择对应的版本和操作系统,我选择的是Windows 10系统下的Boom 3D版本. 下载完成后直接点击安装即可,安装…
摘要:本文主要介绍类加载器.自定义类加载器及类的加载和卸载等内容,并举例介绍了Java类的热替换. 最近,遇到了两个和Java类的加载和卸载相关的问题: 1) 是一道关于Java的判断题:一个类被首次加载后,会长期留驻JVM,直到JVM退出.这个说法,是不是正确的? 2) 在开发的一个集成平台中,需要集成类似接口的多种工具,并且工具可能会有新增,同时在不同的环境部署会有裁剪(例如对外提供服务的应用,不能提供特定的采购的工具),如何才能更好地实现? 针对上面的第2点,我们采用Java插件化开发实现…
原创:微信公众号 码农参上,欢迎分享,转载请保留出处. 哈喽大家好啊,我是没更新就是在家忙着带娃的Hydra. 前几天,正巧赶上组里代码review,一下午下来,感觉整个人都血压拉满了.五花八门的代码让我不禁感叹,代码规范这条道路还是任重而道远- 那么今天就来给大家总结一波Java中的代码作死小技巧,熟练掌握这些小技巧后,保证能让你写出同事看不懂的代码~ 至于为啥要写出同事看不懂的代码,通过这次教训,我发现好处还是挺多的,简单举几个例子: 同事无法轻易修改你的代码,避免团队协作不当引入bug 塑…
java的方法是运行期动态绑定上去的,可以根据自己真正实例化的类来判断调用哪个方法,比如子类重写了父类方法,会调用子类方法. 而利用final关键字可以让方法不能重写,就可以在编译期就绑定,这样就可以提高执行效率.   private 方法 默认就是final的   final 的类 里面所有方法 默认都是final的 ==================================================================== 虚函数 定义:在某基类中声明为 virt…
Person stuProxy= (Person) Proxy.newProxyInstance(Person.class.getClassLoader(), new Class<?>[]{Person.class}, stuHandler); m0=Class.forName("java.lang.Object").getMethod("toString",new Class[0]) 其中new Class<?> [ ] {Person.c…
简单的方法,如下: Runtime r = Runtime.getRuntime();  r.gc();  long startMem = r.freememory(); // 开始时的剩余内存  你的代码……long orz = startMem - r.freememory(); // 剩余内存 现在 但这当然不够精确,尤其是“你的代码”足够多的时候. 那要怎么样做才能够精确呢?使用,java.lang.instrument ,当然, 首先,我们得会用这个instrument类,参考文章:h…
目录 写在前面 1.1. Java IO读写原理 1.1.1. 内核缓冲与进程缓冲区 1.1.2. java IO读写的底层流程 1.2. 四种主要的IO模型 1.3. 同步阻塞IO(Blocking IO) 1.4. 同步非阻塞NIO(None Blocking IO) 1.5. IO多路复用模型(I/O multiplexing) 1.6. 异步IO模型(asynchronous IO) 小结一下: 写在最后 疯狂创客圈 百万级流量 高并发实战 疯狂创客圈 Java 分布式聊天室[ 亿级流量…
1.在命令后面加 | more. 可以每次按空格键或是回车键后翻.2.命令后面加| less ,可以前后翻.3.用重定向到文件 > 文件名,之后慢慢看 ----待补充 ------…
Java开发学习大纲文档V7.0 有钱的大佬可以买下这个版权,全网最完整最详细了,没钱的大佬可以按照自己的方式去整理.有需要的私聊作者QQ:253173641 来源于-幸福的沉淀:https://www.cnblogs.com/dasong/p/10373261.html…
1.最开始写代码,例如C语言(“一次编写,到处编译”)都是经过编译后生成汇编码,直接在cpu上执行. 因为不同的硬件架构和操作系统,会导致不同的cpu支持的指令可能不同,也就是说不通类型的cpu所能执行的代码就是我们说所的本地代码,也叫本机代码或者native代码.这给程序的移植性带来很很大的麻烦,我们在一台机器上运行的好好的代码,如果拿到另一个硬件架构不同的机器上去的话,有可能运行不起来.C,C++写的代码等都是本地代码.但是,本地代码的好处就是效率比较快,因为它少了一个转换的过程. 后来,形…
http://blog.csdn.net/zdwzzu2006/article/details/5863068…
一.JVM体系结构概述 JVM位置 JVM体系结构 1.1 类加载器 ClassLoader   类加载器(ClassLoader)负责加载class文件,class文件在文件开头有特定的文件标示,并且ClassLoader只负责class文件的加载,至于它是否可以运行,则由Execution Engine决定. 大致流程图如下图所示: 1.1.1 类加载器的分类   在java中类加载器共分为两大类,分别是:虚拟机自带的加载器 和 用户自定义加载器. 其中: 虚拟机自带的加载器 启动类加载器(…
做性能测试,接口测试,非常好 转自  http://www.iteye.com/topic/1123432 以前碰到更多的是WEB APP的性能测试,也许用得最多的是Loadrunner, Web Stress tool之类的常态化工具,从没考虑过对于后端引擎类的测试是怎样的. 现在有幸主导了一个企业引擎的研发,其最关健的不是其功能如何,而是性能如何.故benchmark就显得尤为重要. 既然是benchmark,一系列的性能监测.度量工具使用在所难免: 1. nmon.首选的AIX/Linux…
本文给出如何使用Elasticsearch的Java API做类似SQL的group by聚合. 为了简单起见,只给出一级groupby即group by field1(而不涉及到多级,例如group by field1, field2, ...):如果你需要多级的groupby,在实现上可能需要拆分的更加细致. 即将给出的方法,适用于如下的场景: 场景1:找出分组中的所有桶,例如,select group_name from index_name group by group_name; 场景…
在上篇文章中,我们介绍了Java自学大概的路线.然而纸上得来终觉浅,今天我们教大家写第一个java demo.(ps:什么是demo?Demo的中文含意为“示范",Demo源码可以理解为某种计算机语言的示例代码) 今天的文章将分为三个部分: 简单介绍JRE.JDK.JVM 介绍环境安装流程 编写运行hello,word 一.JRE.JDK.JVM概念及关系 JVM是Java Virtual Machine(Java虚拟机)的缩写.JVM具有的跨平台特性,决定了Java语言具有强移植性的特点.因为…
import java.util.Scanner; import java.math.BigInteger; public class Main { public static void main(String[] args) { Scanner scan = new Scanner(System.in); BigInteger a = scan.nextBigInteger(); BigInteger b = scan.nextBigInteger(); System.out.println(…
大家好,我是辰哥 辰哥在平时处理音频格式的时候,需要去下载各种音频处理软件(专业一点的软件还要收费),掌握Python技术的我们,知道Python是万能的(哈哈哈,开个玩笑).今天辰哥就来教大家用Python去实现音频格式无损转换-pydub pydub支持音频的各种格式之间进行相互转换.演示效果如下(这里只演示3种格式,下面会介绍各种常用音频格式): 01 安装pydub库 通过下面的命令安装Python库-pydub pip install pydub 安装好之后,在Python中引入pyd…
其实多线程还有很多的东西要说,我们慢慢来,可能会有一些东西没说到,那就没办法了,只能说尽量吧! 1.synchronized关键字 说到多线程肯定离不开这个关键字,为什么呢?因为多线程之间虽然有各自的栈和PC计数器,但是也有一些区域是共享的(堆和方法区),这些共享的区域就不可避免的造成一些问题,比如一个线程对共享区的一个变量进行修改时,此时另外一个线程也要对这个数据进行修改,就会出现同步问题,到底是以哪个线程为主呢? 最常见的可能就是银行转账了,假如我就100块,我要向朋友小明转账100块,由于…
目录 java 应用 1 cpu 负载过高 1.1 分析问题 1.2 解决方案 2 内存占用过多 2.1 从内存回收方面 2.2 从代码层面 java 应用 1 cpu 负载过高 1.1 分析问题 首先我们通过top 命令进行分析,找出消耗最多cpu的java 进程id . 找出对应的进程id 后,我们可以通过 top -Hp 进程id 命令来找出该进程中占用cpu最多的前几个线程id. 我们使用 jstack -l 进程pid > /tmp/java_pid.log 输出java的堆栈日志到文…
原文地址:http://www.jianshu.com/p/4a41ee88bd82 物有本末,事有终始,知所先后,则近道矣 面试经历 关于Java面试,你应该准备这些知识点关于Java面试,你应该准备这些知识点(续) 前段时间抽空整理了上面两篇面试经历,收到不少的关注,很多同学私信我平时都是如何get到这些知识的,是否有一些相关的书单,Java的源码太多了,应该如何看,框架的代码应该如何阅读等等问题. 现在想想,似乎以前也这样迷茫过,没有明确的方向,做过后端,做过前端,就因为啃完了一整本<Ja…
写代码: 1,明确需求.我要做什么? 2,分析思路.我要怎么做?1,2,3. 3,确定步骤.每一个思路部分用到哪些语句,方法,和对象. 4,代码实现.用具体的java语言代码把思路体现出来.   学习新技术的四点: 1,该技术是什么? 2,该技术有什么特点(使用注意): 3,该技术怎么使用.demo 4,该技术什么时候用?test. ----------------------------------------------------------------------------------…
阿里极客公益活动: 或许你挑灯夜战只为一道难题 或许你百思不解只求一个答案 或许你绞尽脑汁只因一种未知 那么他们来了,阿里系技术专家来云栖问答为你解答技术难题了 他们用户自己手中的技术来帮助用户成长 本次活动特邀百位阿里技术专家对Java常见问题进行了集中解答,在短短3天时间专家回答了1460道Java问题 如何学习Java 作为一个java学习者,重复写轮子是否必要 https://yq.aliyun.com/ask/48209自学三个月java能到什么程度 https://yq.aliyun…
首先声明,这篇文章不是卖课程.介绍培训班的广告. 最近有不少读者通过微信问我:小白应该怎么学好 Java? 提问的人里有在校大学生.有刚参加工作的.有想转行做程序员的,还有一部分是最近找工作不顺的. 现在行情不好,很多人都焦虑,但是光跟着焦虑不解决问题.作为程序员,还不如静下心来,少受干扰,专心提高自己. 继续说回到学 Java 这个问题上来,网上 95% 以上的文章都是说介绍学习路线.Java书籍和视频的. 学习路线无非就是: Java:语法.面向对象.IO.集合.异常.多线程-- Java…
程序员们!请往这儿看 对于JAVA的学习,可能你还会有许多的顾虑 不要担心 接着往下看吧 学Java前 一.数学差,英语也不好是不是学不好Java? 答案是:是~ 因为你在问这个问题的时候说明你对自己一点信心都没有! 首先,在学习之前一定要端正好自己的态度才是最关键的!不要提前给自己打上标签 其次,对于初学者来说,学习Java是不需要太高深的数学和英语基础的,对于it行业的技术来说,需要的英文只是单词,而并不需要语法,句型,口语,听力等等专业英文知识.所以计算机英语是最容易克服的,现在不好,在今…