随笔分类 - java基础知识
摘要:1、主线程与子线程互不影响 最常见的情况,主线程中开启了一个子线程,开启之后,主线程与子线程互不影响各自的生命周期,即主线程结束,子线程还可以继续执行;子线程结束,主线程也能继续执行。 public class TestThread{ public static void main(String[]
阅读全文
摘要:1.jvm性能调优的最基本条件 首先我们要知道,垃圾回收器(GC)在回收内存空间时候,所有的工作线程都会暂停,待回收工作完成后,工作线程才会继续运行。如果GC太频繁,工作线程的效率和响应时间肯定会受影响,所以,jvm性能调优的最基本条件就是要尽可能地减少垃圾回收的次数。 2. Xms和Xmx参数为什
阅读全文
摘要:1.单例模式的定义 单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例。在计算机系统中,线程池、缓存、日志对象、对话框、打印机、显卡的驱动程序对象常被设计成单例。这些应用都或多或少具有资源管理器的功能。每台计算机可以有若干个打印机,但只能有一个Printer Spooler,以避
阅读全文
摘要:1. Java 异常 异常是指阻止当前方法或者作用域继续执行的问题。异常处理机制就是当程序发生异常时,它强制终止程序运行,记录异常信息并将这些信息反馈给我们,由我们来确定是否处理异常。 1.1 Error Error:是程序中无法处理的错误,表示运行应用程序中出现了严重的错误。此类错误一般表示代码运
阅读全文
摘要:1.ThreadLocal简介 多线程访问同一个共享变量的时候容易出现并发问题,特别是多个线程对一个变量进行写入的时候,为了保证线程安全,一般使用者在访问共享变量的时候需要进行额外的同步措施才能保证线程安全性。ThreadLocal是除了加锁这种同步方式之外的一种保证规避多线程访问出现线程不安全的方
阅读全文
摘要:1.ThreadPoolExecutor概述 《阿里巴巴 Java 开发手册》中强制线程池不允许使用 Executors 去创建,而是通过 ThreadPoolExecutor 的方式,这样的处理方式让写的同学更加明确线程池的运行规则,规避资源耗尽的风险; Executors 返回线程池对象的弊端如
阅读全文
摘要:所谓访问权限,指的就是本类中的成员变量、成员方法对其他类的可见性 Java中有四种访问权限,分别是public、protected、包访问权限(默认)、private,如果省略了访问修饰符,那默认访问权限为包访问权限。这四种权限从最大权限到最小权限分别是:public > protected > 包
阅读全文
摘要:1 static 1.1 static存在的主要意义 static的主要意义是在于创建独立于具体对象的域变量或者方法。以致于即使没有创建对象,也能使用属性和调用方法! static关键字还有一个比较关键的作用就是 用来形成静态代码块以优化程序性能。static块可以置于类中的任何地方,类中可以有多个
阅读全文
摘要:1.Character类 Character 类是字符数据类型 char 的包装类。Character 类的对象包含类型为 char 的单个字段,这样能把基本数据类型当对象来处理 public final class Character extends Object implements Seria
阅读全文
摘要:1.继承 1.1 继承概述 继承可以定义为一个类获取另一个类的属性(方法和字段)的过程。 通过使用继承,可以按层次顺序管理信息。 继承其他属性的类称为子类(派生类,子类),其属性被继承的类称为超类(基类,父类)。 关于继承如下 3 点请记住: 1. 子类拥有父类对象所有的属性和方法(包括私有属性和私
阅读全文
摘要:1.概述 方法引用(Method Reference)是lambda表达式的一种特殊形式,如果正好有某个方法满足一个lambda表达式的形式,那就可以将这个lambda表达式用方法引用的方式表示,但是如果这个lambda表达式的比较复杂就不能用方法引用进行替换。实际上方法引用是lambda表达式的一
阅读全文
摘要:1.Java注解概述 Java 注解(Annotation)又称 Java 标注,是 JDK5.0 引入的一种注释机制。 Java 语言中的类、方法、变量、参数和包等都可以被注解。和 Javadoc 不同,Java 注解可以通过反射获取注解内容。在编译器生成类文件时,标注可以被嵌入到字节码中。Jav
阅读全文
摘要:1. hutool中BeanUtil工具类的常用方法 构造两个实体类: Employee.java package com.ttbank.flep.test; import lombok.AllArgsConstructor; import lombok.Data; import lombok.No
阅读全文
摘要:1.JSON基础 1.1 JSON概述 JSON或JavaScript Object Notation是一种基于文本的轻量级开放标准,专为人类可读的数据交换而设计。 程序员已经知道JSON使用的约定,包括C,C ++,Java,Python,Perl等。 JSON代表JavaScript Objec
阅读全文
摘要:1.Arrays概述 Arrays类位于 java.util 包中,主要包含了操作数组的各种方法。 1.1 toString方法 一维数组转字符串 public static String toString(int[] a) 案例: int[] array1 = new int[]{1, 2, 3}
阅读全文
摘要:1.commons-lang3 概述 apache提供的众多commons工具包,号称Java第二API,而common里面lang3包更是被我们使用得最多的。因此本文主要详细讲解lang3包里面几乎每个类的使用,希望以后大家使用此工具包,写出优雅的代码。 maven依赖: <dependency>
阅读全文
摘要:1.commons-io概述 Apache Commons IO是由Apache Foundation创建和维护的Java库。 它提供了许多类,使开发人员可以轻松地完成常见任务,并且减少样板代码。 commons-io是一款处理io流的工具库,封装了很多处理io流和文件的方法,可以大大简化我们处理i
阅读全文
摘要:1.Java反射机制 JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。要想解剖一个类,必须先要获取到该类的字节码文件对象。而解剖使用的就是C
阅读全文
摘要:Java中模拟并发请求,自然是很方便的,只要多开几个线程,发起请求就好了。但是,这种请求,一般会存在启动的先后顺序了,算不得真正的同时并发!怎么样才能做到真正的同时并发呢?是本文想说的点,java中提供了闭锁 CountDownLatch, 刚好就用来做这种事就最合适了。 只需要: 1. 开启n个线
阅读全文
摘要:一、简介 Random类位于java.util包下,此类的实例用于生成伪随机数流。之所以称之为伪随机,是因为真正意义上的随机数(或者称为随机事件)在某次产生过程中是按照实验过程表现的分布概率随机产生的,其结果是不可预测,不可见的。而计算机中的随机函数是按照一定的算法模拟产生的,其结果是确定的,可见的
阅读全文