随笔分类 - java基础
1
摘要:五个基本原则单一职责原则(Single-Resposibility Principle):一个类,最好只做一件事,只有一个引起它的变化。单一职责原则可以看做是低耦合、高内聚在面向对象原则上的引申,将职责定义为引起变化的原因,以提高内聚性来减少引起变化的原因。 开放封闭...
阅读全文
摘要:1、适合多个相同程序的线程去处理统一资源的情况,把相同线程代码和数据有效分离,体现了面向对象的思想2、可以避免java单继承带来的局限性
阅读全文
摘要:HashMap基于hashing原理,我们通过put()和get()方法储存和获取对象。当我们将键值对传递给put()方法时,它调用键对象的hashCode()方法来计算hashcode,让后找到bucket位置来储存值对象。当获取对象时,通过键对象的equals()...
阅读全文
摘要:Annotation分为两种,第一种为系统内置注解,第二种为自定义注解。系统内置注解:例如@Override,@Dprecated自定义注解:定义格式为 【public】 @interface Annotation名称{ 数据类型 变量名称();}其中数据类型和...
阅读全文
摘要:1.继承Thread类创建线程2.实现Runnable创建线程3.实现Callable接口通过FutureTask包装器来创建线程4.使用ExecutorService、Callable、Future实现有返回结果的线程ExecutorService、Callable...
阅读全文
摘要:1. JUC 简介在 Java 5.0 提供了 java.util.concurrent(简称JUC)包,在此包中增加了在并发编程中很常用的工具类,用于定义类似于线程的自定义子系统,包括线程池,异步 IO 和轻量级任务框架;还提供了设计用于多线程上下文中的 Colle...
阅读全文
摘要:1、java智能提示(1). 打开Eclipse,选择打开" Window - Preferences"。(2). 在目录树上选择"Java-Editor-Content Assist",在右侧的"Auto-Activation"找到"Auto Activation ...
阅读全文
摘要:使用lock()获取锁,unlock()释放锁。import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantLock;class PrintDemo { pr...
阅读全文
摘要:客户端import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.IOException;import java.io.InputStreamReader;import java...
阅读全文
摘要:遍历List方法一:普通for循环1234for(int i=0;i maps = new HashMap();Set keySet = maps.keySet();for(Integer id : keySet){System.out.println(maps....
阅读全文
摘要:二叉树是树形结构的一个类型,由一个根节点和左子树、右子树组成。排序二叉树特性:左子树上的值均小于根节点的值;右子树的值均大于根节点的值。(相当于链表)平衡二叉树 任何节点的两个子树的最大高度差为1,被称为高度平衡树。 节点的平衡因子是它的左...
阅读全文
摘要:map的实现类主要包括HashMap、HashTable、TreeMap、Properties。HashMap采用哈希算法实现,要求键不能重复,如果发生重复,新的键会替代旧的键。 HashMap底层实现采用了哈希表,这是一种非常重要的数据结构。对于我们以后理解很多技术...
阅读全文
摘要:Timer类类似定时闹钟,本身就是一个线程,用来实现调用其他线程。通过继承TimerTask类,获得多线程的能力,在run 方法内部执行任务。示例:public class TestTimer { public static void main(String[]...
阅读全文
摘要:两种方法:synchronized方法和synchronized方法块。1. 通过在方法声明中加入 synchronized关键字来声明,语法如下:1public synchronized void accessVal(int newVal);synchroniz...
阅读全文
摘要:stop()和detroy()方法已被jdk启用,不推荐使用终止方法:通常的做法是提供一个boolean型的终止变量,当这个变量置为false,则终止线程的运行。【示例11-3】终止线程的典型方法(重要)12345678910111213141516171819202...
阅读全文
摘要:1.继承Thread类实现多继承(此法优缺点,若已经继承类,则无法再继承Thread类);public class TestThread extends Thread {//自定义类继承Thread类 //run()方法里是线程体 public void ...
阅读全文
摘要:线程和进程最根本的区别在于线程是调度和执行的单位,而进程是资源分配的单位;线程是进程的一部分,所以线程又被成为轻量级进程;一个没有线程的进程看做是单线程的;线程只能共享它所属进程的资源。程序是静态的实体;而进程是动态的实体,有自己的生命周期;进程是程序的一部分,程序运...
阅读全文
摘要:垃圾回收过程:垃圾回收算法一般要做两件事情:1.发现无用的对象,2.回收无用对象占用的空间。垃圾回收机制保证可以将“无用的对象”进行回收。无用的对象指的就是没有任何变量引用该对象。Java的垃圾回收器通过相关算法发现无用对象,并进行清除和整理。垃圾回收相关算法:1.引...
阅读全文
摘要:函数调用中传递参数时,遵循原则: 基本类型传递的是参数本身的值,引用类型传递的是对对象的引用,不是对象本身。
阅读全文
摘要:面向对象设计思想:从现实客观事物出发构造软件系统,并在系统构造中尽量使用人类思维方式,更加强调人类在日常思维逻辑中的思想方法和原则。对象是静态属性和动态属性的封装体;类是同一类型的事物的模板。
阅读全文
1

浙公网安备 33010602011771号