随笔分类 - Java基础
摘要:正则表达式在几乎所有语言中都可以使用,无论是前端的JavaScript、还是后端的Java、c#。他们都提供相应的接口/函数支持正则表达式。 但很神奇的是:无论你大学选择哪一门计算机语言,都没有关于正则表达式的课程给你修,在你学会正则之前,你只能看着那些正则大师们,写了一串外星文似的字符串,替代了你
阅读全文
摘要:在下面的代码中,当抛出运行时异常后,后面的代码还会执行吗,是否需要在异常后面加上return语句呢? public void add(int index, E element){ if(size >= elements.length) { throw new RuntimeException("顺序
阅读全文
摘要:以下是由 stackoverflow 网站 投票决出的Java数组最常用的十个方法: 1. 声明数组 String[] aArray = new String[5]; String[] bArray = {"a","b","c", "d", "e"}; String[] cArray = new S
阅读全文
摘要:Collections类 Collections类是Java中针对集合类的一个工具类,其中提供一系列静态方法。 1. sort(Comparator<? super E>):void List 对集合中的元素排序: public class Main { public static void mai
阅读全文
摘要:若get开头且第四个字母是大写的方法中有空指针异常时(无论有没有对应属性) 1.阿里巴巴的FastJson会出现空指针异常,证明与get开头的方法有关 2.Google的Gson不会出现异常,因为只和属性有关,和get开头的方法没关系 3.java开源的Jackson也会出现异常,证明与get开头的
阅读全文
摘要:new一个类对象,类中各部分执行顺序:静态代码块->非静态代码块->构造函数->一般方法。 public class father { private String name; father(){ System.out.println("--父类的无参构造函数--"); } father(Strin
阅读全文
摘要:前言 如果你是一个急性子,没什么耐性的人,可以只看下句,自己去品味理解: 内部类:就是我是你的一部分,我了解你,我知道你的全部,没有你就没有我。(所以内部类对象是以外部类对象存在为前提的) 静态内部类:就是我跟你没关系,自己可以完全独立存在,但是我就借你的壳用一下,来隐藏自己。 如果还不知道静态和普
阅读全文
摘要:第一种: public void test1() { flag: for (int i = 1; i < 4; i++) { for (int j = 0; j < 4; j++) { if (i == 2) { break flag; } else { System.out.println("i=
阅读全文
摘要:1. 前言 在上一文中我们封装了一个Mybatis通用Mapper。为了获得实体类属性我使用了反射。大多数同学也第一感觉会用反射实现,其实还有一种技术也能实现,这就是内省(Introspector)。 2. 什么是内省 在计算机科学中,内省是指计算机程序在运行时(Runtime)检查对象(Objec
阅读全文
摘要:1.基本概念 IO:Java对数据的操作是通过流的方式,IO流用来处理设备之间的数据传输,上传文件和下载文件,Java用于操作流的对象都在IO包中。 2.IO流的分类 图示:(主要IO流) 3.字节流 (1).字节流基类 1).InputStream InputStream:字节输入流基类,抽象类是
阅读全文
摘要:Java集合类的源码是深入学习Java非常好的素材,源码里很多优雅的写法和思路,会让人叹为观止。HashMap的源码尤为经典,是非常值得去深入研究的,jdk1.8中HashMap发生了比较大的变化。 一、初窥HashMap HashMap是应用更广泛的哈希表实现,而且大部分情况下,都能在常数时间性能
阅读全文
摘要:1.clone方法 保护方法,实现对象的浅复制,只有实现了Cloneable接口才可以调用该方法,否则抛出CloneNotSupportedException异常。 主要是JAVA里除了8种基本类型传参数是值传递,其他的类对象传参数都是引用传递,我们有时候不希望在方法里讲参数改变,这是就需要在类中复
阅读全文
摘要:public class TestList { static class Car { String name; public Car(String name) { this.name = name; } public Car() { } } public static void main(Strin
阅读全文
摘要:在项目中遇到一个问题:要将通过http方式发送过来的大批量数据(这个数据保守估计每次请求在10万条左右),要和数据库中的另一批数据(数据库中的记录1万条左右)进行匹配(匹配:指两组数据中的某几个字段值相等),匹配上的数据保存在数据库中,匹配不上的直接扔掉。或者说:有一个List<String> st
阅读全文
摘要:业务场景: 现在有一个list的集合 ,需要根据list里面的主键id(如UUID字符串)作为参考去掉重复的列 原理:使用map 去重复,map<key,value> 存储方式,其中key不能为重复列 List<User> users = new ArrayList<User>(); Map<Str
阅读全文
摘要:话不多说直接上代码,朋友们可自己测试用于项目: BaseException类(基础类) /** *异常处理基类 */ public class BaseException extends RuntimeException { private static final long serialVersi
阅读全文
摘要:创建和删除 //创建文件 File file1 = new File("不存在的文件.txt");//注意,这一步并没有创建文件,只是把磁盘中的文件封装成了一个对象 System.out.println(file1.exists() + "--" + file1.createNewFile());/
阅读全文
摘要:Java中取资源时,经常用到Class.getResource和ClassLoader.getResource,这里来看看他们在取资源文件时候的路径问题。 Class.getResource(String path) path不以’/'开头时,默认是从此类所在的包下取资源; path 以’/'开头时
阅读全文
摘要:所谓回调:就是A类中调用B类中的某个方法C,然后B类中反过来调用A类中的方法D(方法C在方法D中),D这个方法就叫回调方法。 举个例子: 有一天小王遇到一个很难的问题,问题是“1 + 1 = ?”,就打电话问小李,小李一下子也不知道,就跟小王说,等我办完手上的事情,就去想想答案,小王也不会傻傻的拿着
阅读全文
摘要:Java 中静态代码块初始化问题测试 情况一:变量是 static final 修饰的“编译期常量”,如 public static final String a = "JD"; public class Test { public static void main(String[] args) {
阅读全文