![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
学习到新知识点
Angel_Zhl
每天学习一点点,都会觉得自己需要学习的东西有很多,这样才会让自己更想学到新的东西
展开
-
关于泛型——java自动拆箱,装箱,遍历循环(foreach)的理解
JAVA中泛型 泛型,即“参数化类型”。一提到参数,最熟悉的就是定义方法时有形参,然后调用此方法时传递实参。那么参数化类型怎么理解呢?顾名思义,就是将类型由原来的具体的类型参数化,类似于方法中的变量参数,此时类型也定义成参数形式(可以称之为类型形参),然后在使用/调用时传入具体的类型(类型实参)。 泛型的本质是为了参数化类型(在不创建新的类型的情况下,通过泛型指定的不同类型来控制形参...原创 2018-04-08 14:32:54 · 588 阅读 · 0 评论 -
Spring是什么
 1.1.1.Spring是什么 Spring是一个开源的轻量级Java SE(Java 标准版本)/Java EE(Java 企业版本)开发应用框架,其目的是用于简化企业级应用程序开发。应用程序是由一组相互协作的对象组成。而在传统应用程序开发中,一个完整的应用是由一组相互协作的对象组成。所以开发一个应用除了要开发业务逻辑之外,最多的是关注如何使这些对象协作来完成所需功能,而且要低...转载 2018-07-23 11:28:04 · 181 阅读 · 0 评论 -
java的反射机制
前段时间看了java的反射机制的内容,但是好像仅停留在理论层面,下面简单的以代码的形式介绍下,自己的理解吧。 import java.lang.reflect.Constructor; import java.lang.reflect.Field; import java.lang.reflect.Method; public class reflectDemo { public...原创 2018-05-19 22:40:06 · 135 阅读 · 0 评论 -
装饰设计模式
装饰设计模式:对一组对象的功能进行增强时,就可以使用该模式来解决问题。 //装饰模式。 public class Persondemo { public static void main(String[] args) { person p = new person(); newperson np = new newperson(p); ...原创 2018-05-13 10:40:20 · 124 阅读 · 0 评论 -
字符流和字节流
在程序中所有的数据都是以流的方式进行传输或保存的,程序需要数据的时候要使用输入流读取数据,而当程序需要将一些数据保存起来的时候,就要使用输出流完成。 程序中的输入输出都是以流的形式保存的,流中保存的实际上全都是字节文件。 字节流与字符流 在java.io包中操作文件内容的主要有两大类:字节流、字符流,两类都分为输入和输出操作。在字节流中输出数据主要是使用OutputStream完成,...原创 2018-05-12 21:54:15 · 262 阅读 · 0 评论 -
多线程中wait()和sleep()以及notify()
多线程中会使用到两个延迟的函数,wait()和sleep()。一个唤醒函数notify(). wait和notify是Object类中的方法,而sleep是Thread类中的方法。 sleep是Thread类中的静态方法。无论是在a线程中调用b的sleep方法,还是b线程中调用a的sleep方法,谁调用,谁睡觉。最主要的是sleep方法调用之后,并没有释放锁,sleep是帮助其他线程获得运行机...原创 2018-04-20 21:07:10 · 1659 阅读 · 0 评论 -
volatile和synchronized的区别
可见性(Visibility) 可见性就是指当一个线程修改了线程共享变量的值,其它线程能够立即得知这个修改。Java内存模型是通过在变量修改后将新值同步回主内存,在变量读取前从主内存刷新变量值这种依赖主内存作为传递媒介的方法来实现可见性的,无论是普通变量还是volatile变量都是如此,普通变量与volatile变量的区别是volatile的特殊规则保证了新值能立即同步到主内存,以及每使用前立即...原创 2018-04-19 22:11:19 · 181 阅读 · 0 评论 -
简单错误记录——HashMap和LinkedHashMap
最近在刷题的过程中,在使用HashMap进行文件排序遇到的小问题。 题目: 开发一个简单错误记录功能小模块,能够记录出错的代码所在的文件名称和行号。 处理: 1.记录最多8条错误记录,对相同的错误记录(即文件名称和行号完全匹配)只记录一条,错误计数增加;(文件所在的目录不同,文件名和行号相同也要合并) 2.超过16个字符的文件名称,只记录文件的最后有效16个字符;(如果文件名不同,而只是...原创 2018-04-17 12:59:08 · 758 阅读 · 0 评论 -
HashMap、ConcurrentHashMap(1.7和1.8的不同实现)、HashTable的区别
谈谈ConcurrentHashMap1.7和1.8的不同实现 HashMap vs ConcurrentHashMap 引入ConcurrentHashMap是为了在同步集合HashTable之间有更好的选择,HashTable与HashMap、ConcurrentHashMap主要的区别在于HashMap不是同步的、线程不安全的和不适合应用于多线程并发环境下,而Co...转载 2018-04-15 22:43:38 · 1014 阅读 · 0 评论 -
HashMap和HashTable比较
java集合整体分为Collection和Map两种。 java.util包中集合详解 Java中Collection与Map详解 Java基础——集合类 左Collection,右Map 总结一下Collection和Map,它们的父子关系为: java.util +Collection 这个接口extends自 --java.lang.Iterable接口 ...原创 2018-04-15 22:33:11 · 182 阅读 · 0 评论 -
逃逸分析——编译优化技术(最前沿的优化技术之一)
在Java中,典型的对象不再堆上分配的情况有两种:TLAB和栈上分配。 一、为什么不在堆上分配 我们知道堆是由所有线程共享的,既然如此那它就是竞争资源,对于竞争资源,必须采取必要的同步,所以当使用new关键字在堆上分配对象时,是需要锁的。既然有锁,就必定存在锁带来的开销,而且由于是对整个堆加锁,相对而言锁的粒度还是比较大的,当对象频繁分配时,不免影响效率。 所以对于某些特殊情况,可以采取...转载 2018-04-15 17:09:07 · 830 阅读 · 0 评论 -
Java技术——String类的intern()方法
0.概要 在 JAVA 语言中有8中基本类型和一种比较特殊的类型String。这些类型为了使他们在运行过程中速度更快,更节省内存,都提供了一种常量池的概念。常量池就类似一个JAVA系统级别提供的缓存。 8种基本类型的常量池都是系统协调的,String类型的常量池比较特殊。它的主要使用方法有两种: 直接使用双引号声明出来的String对象会直接存储在常量池中。 如果不是用双引号声明的Stri...转载 2018-03-13 13:16:43 · 269 阅读 · 0 评论 -
java中Arrays类的一些用法
列举Arrays的一些用法,方便以后查找使用。 //1.sort排序String[]数组:升序:从小到大 String[] names = { "Liz", "John", "Eric", "Alan" }; //只排序前两个 //[John, Liz, Eric, Alan] Arrays.sort(names, 0, 2); //全部排序 //[Alan, Eric, John, Liz] ...原创 2018-03-18 11:24:30 · 518 阅读 · 0 评论 -
Java中System.arraycopy, Object.clone, Arrays.copyOf和for 4种数组复制方式的性能比较
用代码说话 package InterviewDirectory.binaryTree_example.System.arraycopy_Arrays; import java.util.Arrays; /** * Created by xxx on 2018/3/18. */ public class copyOf_clone_for { /** * System.a...原创 2018-03-18 14:06:38 · 2044 阅读 · 0 评论 -
京东金融一面——数组和链表区别?为什么链表查找慢?数组查找快?为什么连续内存就方便查找?(查找速度快)
面试官怒怼(也是我太紧张,没说清楚,这里总结,其实也要说到CPU的一些东西,平时没注意) 数组与链表的优缺点; 数组: 优点:使用方便 ,查询效率 比链表高,内存为一连续的区域 缺点:大小固定,不适合动态存储,不方便动态添加 链表: 优点:可动态添加删除 大小可变 ,内存可能是不连续内存,链式...原创 2018-07-23 14:59:43 · 2383 阅读 · 0 评论