java基础
Dandy1awcoder
这个作者很懒,什么都没留下…
展开
-
java关键字
原创 2018-07-26 10:14:11 · 122 阅读 · 0 评论 -
【集合框架】HashMap原理及源码解读
原贴写的很好:https://blog.csdn.net/qq_27093465/article/details/52207135本文加上个人理解,用自己的话表达集合框架及对HashMap细节的理解。简介HashMap是一种利用键值映射存储数据的数据结构,随着jdk的发展,在jdk1.8中引入了红黑树的数据结构和扩容的优化。Map类常用集合介绍HashMap实现自java....原创 2018-08-15 17:08:37 · 263 阅读 · 0 评论 -
java中的并发与并行
https://www.cnblogs.com/NextNight/p/6323442.html先放个链接,稍后补充转载 2018-08-07 22:13:29 · 661 阅读 · 0 评论 -
【锁机制】synchronized和ReentrantLock、锁优化
java中的锁的种类很多。目前对这部分知识点只是停留在了解的基础上,就目前知识进行梳理,并长期补充。java中锁常用的为synchronized 和java.util.concurrent.Lock下的锁。这是一篇对各种分类锁的介绍:https://blog.csdn.net/u013256816/article/details/51204385 下面对java中实现的锁进行个人分析...原创 2018-08-11 14:52:59 · 993 阅读 · 0 评论 -
进程间的通信方式及区别
1.无名管道(pipe)特点:最古老的IPC(进程间通信方式)1.只能用于有血缘关系的进程之间信息传递2.半双工的信息传递,同一时间只能读或者写,一个方向。固定的读端和写端。3.独立于文件系统之外,不属于文件系统,特别的方式存在于内存中。 2.命名管道(FIFO)1.克服了无名管道的只能有血缘关系进程之间的通信,无关进程之间也可以通信。2.以一种特殊的文件格式存在于...原创 2018-08-02 15:31:39 · 1168 阅读 · 0 评论 -
JVM垃圾回收算法以及对应的垃圾收集器
JVM中的垃圾:GC中的垃圾,指的是存在于内存中的、不会再被使用的对象。而垃圾回收就是把那些不再被使用的对象进行清除,收回占用的内存空间。如果不及时对内存中的垃圾进行清理,那么这些垃圾对象所占的内存空间会一直保留到应用程序结束,被保留的空间无法被其他对象使用。如果大量不会被使用的对象一致占着空间不放,如果应用程序需要内存空间,没有多余的内存空间供其使用的话,就会导致内存溢出。因此,对内存空间的...原创 2018-08-01 15:20:15 · 1366 阅读 · 1 评论 -
Java静态分派与动态分派
牛客题:以下代码执行的结果是多少()? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 ...转载 2018-08-05 17:54:18 · 298 阅读 · 0 评论 -
Java IO流框架
转载 2018-07-31 13:59:14 · 984 阅读 · 0 评论 -
常用的排序算法及java实现
常用的排序算法有: 冒泡排序,选择排序,插入排序,归并排序,堆排序,快速排序等。排序算法稳定性稳定性的简单形式化定义为:如果Ai = Aj,排序前Ai在Aj之前,排序后Ai还在Aj之前,则称这种排序算法是稳定的。通俗地讲就是保证排序前后两个相等的数的相对顺序不变。对于不稳定的排序算法,只要举出一个实例,即可说明它的不稳定性;而对于稳定的排序算法,必须...原创 2018-08-04 21:16:08 · 199 阅读 · 0 评论 -
java数据转型
数据类型的转换,分为自动转换和强制转换。自动转换是程序在执行过程中 “ 悄然 ” 进行的转换,不需要用户提前声明,一般是从位数低的类型向位数高的类型转换;强制类型转换则必须在代码中声明,转换顺序不受限制。自动数据类型转换自动转换按从低到高的顺序转换。不同类型数据间的优先关系如下: 低 ---------------------------------------------> 高 ...原创 2018-07-31 10:50:55 · 653 阅读 · 0 评论 -
switch用法
switch (x) { case 1: System.out.println("Test1"); case 2: case 3: System.out.println("Test2"); default: ...原创 2018-07-31 10:42:11 · 3093 阅读 · 0 评论 -
Java集合框架
转载 2018-07-27 15:38:20 · 123 阅读 · 0 评论 -
map的几种遍历方式及性能
Map 遍历的几种方式:1.只要key 或 values的时候2.同时需要key和values第一种:只需要key 或者 values for (Integer i :map.keySet()){ if (map.get(i)>num) index = i; } retur...原创 2018-07-30 17:45:30 · 834 阅读 · 0 评论 -
进程与线程的区别
进程:可以认为是一个运行的程序个体。是系统资源调度和分配的基本单位。线程:是进程中的实体,是cpu执行的基本单位,是比进程更小的独立运行单位。线程和进程的区别:1.进程拥有独立的堆栈空间和数据段(资源段),所以运行时会给进程分配地址空间。会建立众多的数据表维护它的代码段、数据段、堆栈段,多进程情况下,系统开销大。线程拥有自己的栈空间,但是共享数据段,彼此使用的是相同的地址空...原创 2018-08-03 21:43:50 · 187 阅读 · 0 评论 -
java内部类
内部类分为:成员内部类,局部内部类,匿名内部类,静态内部类。 在Java中,可以将一个类定义在另一个类里面或者一个方法里面,这样的类称为内部类。广泛意义上的内部类一般来说包括这四种:成员内部类、局部内部类、匿名内部类和静态内部类。下面就先来了解一下这四种内部类的用法。 1.成员内部类 成员内部类是最普通的内部类,它的定义为位于另一个类的内部,形如下面的形式: 1 ...转载 2018-07-30 15:26:05 · 125 阅读 · 0 评论 -
java运算符的优先级
转载 2018-07-27 09:51:41 · 731 阅读 · 0 评论 -
一张图让你看懂JAVA线程间的状态转换
线程间的状态转换: 1. 新建(new):新创建了一个线程对象。2. 可运行(runnable):线程对象创建后,其他线程(比如main线程)调用了该对象的start()方法。该状态的线程位于可运行线程池中,等待被线程调度选中,获取cpu 的使用权 。3. 运行(running):可运行状态(runnable)的线程获得了cpu 时间片(timeslice) ,执行程序...转载 2018-07-26 14:23:41 · 132 阅读 · 0 评论 -
java常量池概念,String,Integer等包装类对常量池的应用
https://blog.csdn.net/chen1280436393/article/details/51768761 1、基本型和基本型封装型进行“==”运算符的比较,基本型封装型将会自动拆箱变为基本型后再进行比较,因此Integer(0)会自动拆箱为int类型再进行比较,显然返回true; int a = 220; Integer b = 2...转载 2018-07-26 11:05:29 · 379 阅读 · 0 评论 -
【java.lang.reflect】反射机制应用及详解
最近也是面试的时候问道一个问题,如何将一个java对象转换为json字符串,一听到的时候没有任何思路,之前也有接触过fastjson,知道就是用这个jar包来处理的,但是具体如何运行原理并不了解,导致面试说不出来,面试官提到fastjson其实就是利用反射来获取这个对象对应的信息,然后转化,于是对反射机制做一个详细的掌握。一、什么是反射机制?java的反射机制就是在java程序运行中,可以...原创 2018-08-31 21:37:12 · 940 阅读 · 0 评论