
Java基础
文章平均质量分 79
子桑尽欢
擅长Java和Android开发,对产品质量有一定追求。
对大数据有着憧憬!!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Java编程之美——Stream流的实践
前言可能很多Java开发者没有听说过Stream流,可能自己代码中虽然用到过Stream,但是对Stream没有一个整体的概念。莫慌莫慌!!这里将会有逐步介绍Stream是什么东东,实际开发中如何运用Stream流,以及Stream与传统方式的优劣...原创 2021-01-24 23:02:18 · 225 阅读 · 0 评论 -
ArrayList和LinkedList源码探究
首先,ArrayList和LinkedList都是Java集合框架中List的子类,在面试过程中我们经常被问到这两个有什么不同?最常见的回答无非是ArrayList查询比较快,增删改比较慢。而LinkedList查询比较慢,增删改比较快。大多数人都能答道这点,但是为什么两个都是list,但是一个查询快另一个查询慢呢?ArrayList这就要从它的底层数据结构入手了,从源码可以看出,lis...原创 2019-11-21 18:30:37 · 470 阅读 · 0 评论 -
经典排序算法合集
前言:作为一个毕业季的狗子,在已经到来的秋招面前可谓是瑟瑟发抖。在海投简历的过程中,一次又一次的笔试,一次又一次的凉凉早就见怪不怪了。但是排序算法出现的频率真的比较大,所有现在做一个学习及总结,应对接下来的笔试和面试(^ v ^)首先来一个总的介绍,基本排序算法到底有哪些,不说了,直接上图:图片来自 https://www.cnblogs.com/onepixel/articles/767...原创 2019-10-19 17:15:39 · 468 阅读 · 0 评论 -
Synchronized,Lock区别
synchronizedsynchronized又叫对象监视器monitor,实现方法的同步是通过在编译后方法执行前加入一个monitor.enter指令,方法执行完或者异常处加入monitor.exit指令。本质是一个监视器监视一个线程的过程中排斥其他线程的进入。synchronized的使用方式:(1)同步普通方法,锁住的是对象(2)同步代码块,锁住的是{}中的对象(3)同步静态方法...原创 2019-10-04 21:13:42 · 317 阅读 · 0 评论 -
创建线程的几种方式及几种同步线程的方式
创建线程的几种方式及几种同步线程的方式一 如何创建线程1通过继承Thread类创建线程:class TT extends Thread{public void run(){}public static void main(String args[]){Thread t = new Thread();t.start();}}2 通过实现Runnable...原创 2019-07-10 10:06:32 · 1047 阅读 · 0 评论 -
Hash简谈
什么是hash?hash又称为散列,就是把一串任意长度的输入通过hash算法转换为固定长度的输出串,这个串就叫做hash值。比如Java集合中的map,根据key来计算hash值code,code = hash(key)。hash函数,算法MD4:基于32位的位操作实现的MD5:比md4更复杂一些,因此速度更慢一些,安全性更好SHA-1:对小于264位的输出,产生160位的散列值h...原创 2019-09-10 13:56:23 · 570 阅读 · 0 评论 -
Hashmap,Hashtable,ConcurrentHashmap详解
Hashmap,Hashtable,ConcurrentHashmap详解原创 2019-09-06 17:34:32 · 912 阅读 · 0 评论 -
Map学习的一些总结
一 Map概述:从上图可以看出,常见的Map有HashMap,HashTable:HashMap继承Map接口,Hashtable实现Map,Dictionary接口。详细的区别看原创 2019-09-06 11:49:51 · 446 阅读 · 0 评论 -
Java特性之反射
一 概念:在运行时获取类的属性,方法,并调用类的属性方法的这个过程称为java的反射机制,可以用get/set方法获取类的私有成员,也可以通过反射获取二 反射的三种方式:Person p = new Person();Class clazz = p.getClass();clazz.getName();Class clazz = Person.class;clazz.getN...原创 2019-08-21 15:29:45 · 372 阅读 · 0 评论 -
Java之异常处理
一 主要的异常类型:1 检查性异常:由用户问题或错误引起的异常,是程序员无法预料的。例如打开一个空的文件,FileNotFoundException异常,不能被简单忽略2 运行时异常:是在运行时发生的异常,可以预料到,运行时可以被忽略。3 错误:错误不是异常,是脱离程序员控制的问题。例如栈溢出时,错误就发生了。二 Exception类的层次:Exception的父类是Throwable...原创 2019-08-15 22:14:19 · 189 阅读 · 0 评论 -
Java基础之IO
一 流的概念:表示有能力产生数据源或接收数据源的对象**二 从数据源和操作对象角度看,IO类可以分为:1 文件:FileInputStream,FileOutputStream,FileReader,FileWriter2 数组:字节数组 ByteArrayInputStream,ByteArrayOutputStream字符数组 CharArrayReader,CharArrayWri...原创 2019-08-20 18:50:54 · 138 阅读 · 0 评论 -
线程池代码实现
//有借队列public static void ThreadPoolExecutorTest1() {executor = new ThreadPoolExecutor(1,2,1000,TimeUnit.SECONDS,new ArrayBlockingQueue(5),Executors.defaultThreadFactory(),new ThreadPoolExecutor.Ab...原创 2019-07-19 21:27:49 · 202 阅读 · 0 评论 -
Java之线程池的作用及核心参数
ThreadPoolExcutor: java.util.concurrent一 作用:因为线程的创建和销毁会耗费资源,所有为了保持线程的复用性,降低CPU/IO/网络的资源消耗,使用线程池来管理线程二 核心参数:1 corepoolsize:核心线程数创建线程池后,线程池中线程数为0,有任务来时才创建线程去执行任务。当线程池中线程数目=corepoolsize,到达的任务会放 ...原创 2019-07-16 15:56:06 · 793 阅读 · 0 评论 -
Java基本数据类型
Java数据类型详解1 Java数据类型主要分基本数据类型:byte,short,int,long,float,double,char,boolean和引用数据类型:类,接口,数组基本数据类型与引用数据类型的存储区别:基本数据类型存储在栈内存中,数据的值存在栈空间,而引用数据类型:采用栈内存和堆内存的存储方式,栈中存放指向真正内容的指针,真正内容存放在堆上2 基本数...原创 2019-07-12 10:46:19 · 144 阅读 · 0 评论 -
Object类的几种方法
Object类的几种方法1 clone();shallow clone和deep clone的区别:浅拷贝拷贝的是对象,不拷贝对象指向的内存,所以对象指向的值还是原来对象指向的内存空间,对其中的一个对象进行修改会影响另一个对象深拷贝:既拷贝对象又拷贝对象指向的内存空间,对一个对象进行修改不会影响另一个对象。2 toString():返回一个字符串3 equals()...原创 2019-07-10 16:36:24 · 168 阅读 · 0 评论 -
interface与abstract类
interface与abstract类的区别接口和抽象类都不能被实例化,只能被继承或实现;都包含抽象方法,实现接口或者继承抽象类都应该实现所有抽象方法1 interface:接口是对行为的抽象,不能包含非常量变量,所有成员默认public static final修饰。接口里面没有非静态方法,要么是抽象方法,要么是静态方法。接口实现定义与实现分离java8增加了defaul...原创 2019-07-13 17:34:30 · 185 阅读 · 0 评论 -
static与final关键字
static与final的区别一 static:1:static表示静态或全局变量,可以修饰属性,方法,代码块。被所有类共享,可以通过类名调用A a; a.test();,也可以通过创建对象调用A a = new A();a.test();2 static变量:被static修饰的是类变量或静态变量,没有被static修饰的是实列变量。类中的实例变量是在创建对象时被初始化的,而...原创 2019-07-13 16:36:16 · 122 阅读 · 0 评论