Java基础
sheep_3
安全爱好者,开发狗
展开
-
Java访问权限修饰词
public、protected、default、private在说明这四个关键字之前,我想就class之间的关系做一个简单的定义,对于继承自己的class,base class可以认为他们都是自己的子女,而对于和自己一个目录下的classes(即同一个包),认为都是自己的朋友friendly。public:public表明该数据成员、成员函数是对所有用户开放的,所有用户都可以直接进行调用pri原创 2016-04-14 22:48:58 · 488 阅读 · 0 评论 -
IoC与DI
DI依赖注入 如果在ClassA中,有ClassB的实例,则称ClassA对ClassB有一个依赖。依赖public class Human { ... Father father; ... public Human() { father = new Father(); }}很显然用这种方式new 依赖的对象,如果需要不同的方式取new的话,需要原创 2016-10-19 23:06:25 · 227 阅读 · 0 评论 -
AOP面向切面编程
AOP面向切面编程面向切面,在我的理解就是在不影响源代码的情况下,已一个切面的角度在想要的地放插入逻辑代码。通常是通过动态代理实现的。场景对于某一类操作的相同前置操作和或相同后置操作进行封装。例如,权限认证,日志与OOP的不同OOP针对业务处理过程的实体(Dog、Cat、Duck)及其属性和行为(run)进行抽象封装,以获得更加清晰高效的逻辑单元划分。AOP则是针对业务处理过程中(run或j原创 2016-10-19 23:05:23 · 222 阅读 · 0 评论 -
Java8函数式编程
2. Lambda表达式button.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent event) { System.out.println("button clicked"); }});变成—–>button.addActionListener(eve原创 2016-10-19 23:02:55 · 262 阅读 · 0 评论 -
hashcode()与equals()
1. Object中public boolean equals(Object obj) { return (this == obj); }public native int hashCode();2. equals覆盖关系 当类具有自己特有的”逻辑相等”概念,而且超类没有覆盖equals以实现期望的行为,这时我们就需要覆盖equals方法。在覆盖equals方法时,需要遵守通用原创 2016-10-19 23:02:07 · 226 阅读 · 0 评论 -
JDK源码分析(2)-java.util.LinkedList
废话少说,直接开搞//元素个数transient int size = 0;//抽象出来的链表节点类private static class Node<E> { E item; Node<E> next; Node<E> prev; Node(Node<E> prev, E element, Node<E> next) { this.item =原创 2016-10-27 22:51:05 · 449 阅读 · 0 评论 -
JDK源码分析(1)-java.util.ArrayList
1. 前言从Mybatis开始,看源码这种学习方式似乎给了我一个新的大门,可惜的是看Mybatis时并没有深入看,现在又忘了七七八八,也算一个教训,以后还是得认真写博客。ArrayList几乎是我们在写代码中用的最多的Collection实现,一直想尝试看看JDK源码,对于一些集合的基本知识不在本篇中再叙述。现在开始撸源码吧。 2. 字段//默认初始容量private static final i原创 2016-10-25 20:55:24 · 307 阅读 · 0 评论 -
深入理解JVM
一整篇讲完Java虚拟机,作为《深入理解JVM》一书阅读笔记1. 运行时数据区2. 垃圾回收2.1 对象已死算法GC的对象: - 虚拟机栈(栈帧中的本地变量表)中引用的对象 - 方法区中类静态属性引用的对象 - 方法区中常量引用的对象 - 本地方法栈中JNI引用的对象2.1.1 引用计数算法给对象添加一个引用计数器,每当有一个地方引用它时,计数器就+1,当引用失效时,计数器就-1.任何时刻原创 2016-10-20 21:16:12 · 370 阅读 · 0 评论 -
深入理解Java虚拟机总结-思维导图
Java内存区域与内存溢出异常垃圾收集器与内存分配策略原创 2016-05-19 21:12:18 · 1577 阅读 · 0 评论 -
Java中的Reflect
Java 中反射总的来说就是获得Class实例,通过这个Class实例来获取类的信息从而可以实例化该类或者调用方法1. 获得Class实例一共有三种方法获得Class clazz = Class.forName("cn.sheep3.efjava.reflect.Persen");Class clazz = Demo.class;Class clazz = demo.getClass();2.原创 2016-10-19 23:07:40 · 308 阅读 · 0 评论