Solon's blog 
  • Home
  • Archives
  • Categories
  • Tags
  • About
  •     

内容总结-Xmind

1. JVM 2. 数据库 3. Redis 4. Java SE 5. 框架
 2020-06-16   学习笔记    JAVA随笔 

java反射机制

介绍JAVA 反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为 java 语言的反射机制。 获取class对象的方法1、知道具体类的情况下 Class targetClass = TargetObject.class; 2、不知道具体类的情况下; Class targetClass = Class.forName("cn.example.TargetObject"); package cn.javaguide; import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; public class Main { public static void main(String[] args) throws ClassNotFoundException, NoSuc
 2020-04-22   学习笔记    JAVA随笔 

java关键字总结

final关键字final关键字主要用在三个地方:变量、方法、类。 对于一个final变量,如果是基本数据类型的变量,则其数值一旦在初始化之后便不能更改;如果是引用类型的变量,则在对其初始化之后便不能再让其指向另一个对象。 当用final修饰一个类时,表明这个类不能被继承。final类中的所有成员方法都会被隐式地指定为final方法。 使用final方法的原因有两个。第一个原因是把方法锁定,以防任何继承类修改它的含义;第二个原因是效率。在早期的Java实现版本中,会将final方法转为内嵌调用。但是如果方法过于庞大,可能看不到内嵌调用带来的任何性能提升(现在的Java版本已经不需要使用final方法进行这些优化了)。类中所有的private方法都隐式地指定为final。 Static关键字 修饰成员变量和成员方法: 被 static 修饰的成员属于类,不属于单个这个类的某个对象,被类中所有对象共享,可以并且建议通过类名调用。被static 声明的成员变量属于静态成员变量,静态变量 存放在 Java 内存区域的方法区。调用格式:类名.静态变量名 类名.静态方法名() 静态变量存放在j
 2020-04-22   学习笔记    JAVA随笔 

java基础需要注意的点

java中需要注意的点:1、java中char类型占用2个字节。 2、返回类型不是方法的签名,即不允许两个只有返回类型不同的方法。 3、String类中使用private final char[] value存储字符串,所以不可变。Java9之后使用private final byte[] value 4、StringBuilder线程不安全,速度较快;StringBuffer线程安全,使用了同步锁 5、静态方法中无法使用非静态变量。 6、子类使用super()调用父类构造函数,如果没有指定,则会默认执行无参构造函数,如果父类定义了有参构造函数未定义无参构造函数,则会编译错误。 7、成员变量如果未赋予初值,会自动赋予默认值;局部变量不会自动赋值。被final修饰的需要显示赋值。成员变量放在堆内存,局部变量放在栈内存。 8、对象引用存放在栈内存中,对象实例存放在堆内存中。 9、java不可以通过方法将一个引用指向另一个实例对象。 10、foreach循环不能修改集合中的元素。应该是由于值传递。如果要循环修改数据,使用for循环。 11、Comparable接口方法为compareTo()
 2020-04-21   学习笔记    JAVA随笔 

LinkedList源码分析

1、简介LinkedList实现接口如图所示,支持高效删除和插入操作,由于实现了Deque接口,使得LinkedList类也具有队列的特性。LinkedList不是线程安全的,如果想保证线程安全,可以使用Collections类的synchronizedList方法: List list = Collections.synchronizedList(new LinkedList(……)); 2、源码分析2.1 内部结构内部私有类Node private static class Node<E> { E item;//节点值 Node<E> next;//后继节点 Node<E> prev;//前驱节点 Node(Node<E> prev, E element, Node<E> next) { this.item = element; this.next = next; this.prev
 2020-04-20   学习笔记    Java随笔 

HashMap源码分析

jdk1.8之后的HashMap源码分析: 1、类的属性//序列号 private static final long serialVersionUID = 362498820763181265L; //默认初始容量为16 static final int DEFAULT_INITIAL_CAPACITY = 1 << 4; //最大容量 static final int MAXIMUM_CAPACITY = 1 << 30; //默认装载因子 static final float DEFAULT_LOAD_FACTOR = 0.75f; //超过该值,使用红黑树 static final int TREEIFY_THRESHOLD = 8; //小于该值,转化为链表 static final int UNTREEIFY_THRESHOLD = 6; //转化为红黑树时table的最小大小 static final int MIN_TREEIFY_CAPACITY = 64; //存储元素的数组,大小总为2的幂次方 transient Node<K,V&g
 2020-04-19   学习笔记    JAVA随笔 

Spring学习笔记

1. 基于XML的IOC配置1、在类的根路径下创建一个任意名称的xml文件,如bean.xml,添加依赖。 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> </beans> 2、让spring管理资源,在配置文件中配置service和dao <!-- bean标签:用于配置让spring创建对象,
 2020-02-04   学习笔记    Spring 

Mybatis学习笔记

1.mybatis简单应用1.1步骤:1.编写实体类User,建立数据库表对应的对象(变量及其get、set方法); 2.编写持久层接口IUserDao,数据库操作的接口,如(List<User> findall()); 3.编写持久层接口的映射文件IUserDao.xml,要求:必须和持久层接口在相同的包中,必须以持久层接口名称命名文件名; <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.itheima.dao.IUserDao"> <!-- 配置查询所有
 2020-02-01   学习笔记    Mybatis 
123…6

搜索

Hexo Fluid
 总访问量 次   总访客数 人