Project获取资源需要一个启点,加载资源的动作是由ClassLoader来完成的.Class对象和当前线程对象可以找到当前加载资源的ClassLoader,通过ClassLoader的getResource(String name)方法及其它衍生出来的方法可以找到Application的启点及获取相关资源 private void display() { path=this.getClass().getResource("/loadresource").getPath(); Sys…
本文作者: cmlanche 本文链接: http://www.cmlanche.com/2018/07/22/lambda用法与源码分析/ 转载来源:cmlanche.com 用法 示例:最普遍的一个例子,执行一个线程   new Thread(() -> System.out.print("hello world")).start(); ->我们发现它指向的是 Runnable接口   @FunctionalInterface public interface Runn…
你真的了解java的lambda吗?- java lambda用法与源码分析 转载请注明来源:cmlanche.com 用法 示例:最普遍的一个例子,执行一个线程 new Thread(() -> System.out.print("hello world")).start(); ->我们发现它指向的是Runnable接口 @FunctionalInterfacepublic interface Runnable { /** * When an object impleme…
public String trim() {        int arg0 = this.value.length;   //得到此字符串的长度        int arg1 = 0;   //声明一个int 值,并赋值为0 char[] arg2; //声明一个char数组        for (arg2 = this.value; arg1 < arg0 && arg2[arg1] <= 32; ++arg1) { //将此字符数组赋值给arg2字符数组(java字符…
利用反编译具体看看"+"的过程 1 public class Test 2 { 3 public static void main(String[] args) 4 { 5 int i=10; 6 String s="abc"; 7 System.out.println (s+i); 8 } 9 } 可以看到的确是创建了StringBuilder类,然后调用了两次append方法,并且调用了toString方法. 查看AbstractStringBuilder源码可…
Spring源码分析之IOC的三种常见用法及源码实现(二) 回顾上文 我们研究的是 AnnotationConfigApplicationContext annotationConfigApplication = new AnnotationConfigApplicationContext (MainConfig.class); Person person2 = (Person)annotationConfigApplication.getBean("person2"); 这两句话的实…
1. 问题提出 最近在我们的项目当中,出现了两次与使用string相关的问题. 1.1. 问题1:新代码引入的Bug 前一段时间有一个老项目来一个新需求,我们新增了一些代码逻辑来处理这个新需求.测试阶段没有问题,但上线之后,偶尔会引起错误的逻辑输出甚至崩溃.这个问题困扰着我们很久.我们对新增代码做周详单元测试和集成测试都没有发现问题,最后只能逼迫我们去看那一大段未修改过原始代码逻辑.该项目中经常会碰到使用string,原始代码中有这样一段逻辑引起了我们的怀疑: 1 string string_i…
说明 此文章分两部分,1.ArrayList用法.2.源码分析.先用法后分析是为了以后忘了查阅起来方便-- ArrayList 基本用法 1.创建ArrayList对象 //创建默认容量的数组列表(默认为10) ArrayList<E> a = new ArrayList<E>(); //创建容量为initialCapacity的数组列表 ArrayList<E> a = new ArrayList<E>(int initialCapacity); //用一…
1. 血案由来 近期我在为Lazada卖家中心做一个自助注册的项目,其中的shop name校验规则较为复杂,要求:1. 英文字母大小写2. 数字3. 越南文4. 一些特殊字符,如“&”,“-”,“_”等看到这个要求的时候,自然而然地想到了正则表达式.于是就有了下面的表达式(写的比较龊): ^([A-Za-z0-9._()&'\- ]|[aAàÀảẢãÃáÁạẠăĂằẰẳẲẵẴắẮặẶâÂầẦẩẨẫẪấẤậẬbBcCdDđĐeEèÈẻẺẽẼéÉẹẸêÊềỀểỂễỄếẾệỆfFgGhHiIì…
目录 一.服务端 二.客户端 NIO 源码分析(01) NIO 最简用法 Netty 系列目录(https://www.cnblogs.com/binarylei/p/10117436.html) Java NIO 主要由三个部分组成:Channel.Buffer 和 Selector.在分析源码前最好对 NIO 的基本用法和 Linux NIO 在一个基本的了解. NIO 入门 Linux NIO 本文会提供一个 NIO 最简使用示例,之后的源码分析都会基于该示例及其扩展进行. 一.服务端 p…