随笔分类 -  java基础

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

1