随笔分类 -  java

上一页 1 2 3 下一页

Java对象的复制三种方式
摘要:Java对象的复制三种方式 概述 在实际编程过程中,我们常常要遇到这种情况:有一个对象A,在某一时刻A中已经包含了一些有效值,此时可能 会需要一个和A完全相同新对象B,并且此后对B任何改动都不会影响到A中的值,也就是说,A与B是两个独立的对象,但B的初始值是由A对象确定的。例如下面程序展示的情况: 阅读全文

posted @ 2019-09-29 21:26 kexinxin 阅读(21068) 评论(0) 推荐(0)

轻量级Java Web框架的实现原理
摘要:搭建轻量级Java Web框架 MVC(Model-View-Controller,模型-视图-控制器)是一种常用的设计模式,可以使用这个模式将应用程序进行解耦。 IOC 通过Controller注解来定义Controller类,在该类中,可通过Inject注解定义一系列Service成员变量,这就 阅读全文

posted @ 2019-09-29 15:21 kexinxin 阅读(918) 评论(0) 推荐(0)

Java并发
摘要:Java并发 Java线程 线程的状态 新建(New) 创建后尚未启动。 可运行(Runnable) 可能正在运行,也可能正在等待CPU时间片 包含了操作系统线程状态中的Running和Ready 阻塞(Blocked) 等待获取一个排它锁,如果其他线程释放了锁就会结束此状态 无限期等待(Waiti 阅读全文

posted @ 2019-09-29 15:18 kexinxin 阅读(183) 评论(0) 推荐(0)

java集合提供的排序算法
摘要:java集合提供的排序算法 Arrays.sort()排序算法 如果数组长度大于等于286且连续性好的话,就用归并排序,如果大于等于286且连续性不好的话就用双轴快速排序。如果长度小于286且大于等于47的话就用双轴快速排序,如果长度小于47的话就用插入排序。 Collection.sort()的排 阅读全文

posted @ 2019-09-26 23:47 kexinxin 阅读(707) 评论(0) 推荐(0)

java线程池
摘要:线程池 线程池是什么? 线程池的概念是初始化线程池时在池中创建空闲的线程,一旦有工作任务,可直接使用线程池中的线程进行执行工作任务,任务执行完成后又返回线程池中成为空闲线程。使用线程池可以减少线程的创建和销毁,提高性能。 举个例子:我是一个包工头,代表线程池,手底下有若干工人代表线程池中的线程。如果 阅读全文

posted @ 2019-09-22 23:30 kexinxin 阅读(304) 评论(0) 推荐(0)

Java多态的实现
摘要:java多态的实现 Class 文件的编译过程中不包含传统编译中的连接步骤,一切方法调用在 Class 文件里面存储的都只是符号引用,而不是方法在实际运行时内存布局中的入口地址。这个特性给 Java 带来了更强大的动态扩展能力,使得可以在类运行期间才能确定某些目标方法的直接引用,称为动态连接,也有一 阅读全文

posted @ 2019-09-18 23:36 kexinxin 阅读(659) 评论(0) 推荐(0)

从操作系统的角度看java虚拟机的内存模型
摘要:从操作系统的角度看java虚拟机的内存模型 Linux与进程内存模型 JVM以一个进程(Process)的身份运行在Linux系统上,了解Linux与进程的内存关系,是理解JVM与Linux内存的关系的基础。下图给出了硬件、系统、进程三个层面的内存之间的概要关系。 从硬件上看,Linux系统的内存空 阅读全文

posted @ 2019-09-18 21:54 kexinxin 阅读(485) 评论(0) 推荐(0)

java虚拟机
摘要:java虚拟机 1.Java代码编译和执行的整个过程 Java 代码编译是由 Java 源码编译器来完成,流程图如下所示: Java 字节码的执行是由 JVM 执行引擎来完成,流程图如下所示: Java代码编译和执行的整个过程包含了以下三个重要的机制:Java源码编译机制、类加载机制、类执行机制 类 阅读全文

posted @ 2019-09-18 21:54 kexinxin 阅读(243) 评论(0) 推荐(0)

ThreadLocal
摘要:ThreadLocal ThreadLocal,直译为"线程本地"或"本地线程",如果你真的这么认为,那就错了!其实,它就是一个容器,用于存放线程的局部变量,我认为应该叫做 ThreadLocalVariable(线程局部变量)才对,真不理解为什么当初 Sun 公司的工程师这样命名。 早在 JDK 阅读全文

posted @ 2019-09-17 22:58 kexinxin 阅读(135) 评论(0) 推荐(0)

Proxy代理
摘要:Proxy,也就是"代理"了。意思就是,你不用去做,别人代替你去处理。比如说:赚钱方面,我就是我老婆的 Proxy;带小孩方面,我老婆就是我的 Proxy;家务事方面,没有 Proxy。 它在程序开发中起到了非常重要的作用,比如传说中的 AOP(面向切面编程),就是针对代理的一种应用。此外,在设计模 阅读全文

posted @ 2019-09-17 22:57 kexinxin 阅读(640) 评论(0) 推荐(0)

Java中的HashMap低层实现原理
摘要:Java中的HashMap低层实现原理 JDK1.7中,HashMap采用位桶+链表实现,即使用链表处理冲突,同一hash值的链表都存储在一个链表里。但是当位于一个桶中的元素较多,即hash值相等的元素较多时,通过key值依次查找的效率较低。而JDK1.8中,HashMap采用位桶+链表+红黑树实现 阅读全文

posted @ 2019-09-17 22:56 kexinxin 阅读(288) 评论(0) 推荐(0)

Java中的synchronized以及读写锁
摘要:Java中的synchronized以及读写锁 什么是同步? 在一个多线程的环境中,多个线程同时访问相同的资源的情况是存在的。例如,两个线程试图写入同一个文本文件。它们之间没有任何的同步,当两个或多个线程对同一文件具有写访问权时,写入该文件的数据可能会损坏。同理,在JVM中,每个线程在各自的栈上存储 阅读全文

posted @ 2019-09-17 22:56 kexinxin 阅读(1177) 评论(0) 推荐(0)

AOP
摘要:AOP AOP(Aspect-Oriented Programming)这个东西,名字与 OOP 仅差一个字母,其实它是对 OOP 编程方式的一种补充,并非是取而代之。翻译过来就是"面向方面编程",可我更倾向于翻译为"面向切面编程"。它听起有些的神秘,为什么呢?当你看完这篇文章的时候,就会知道,我们 阅读全文

posted @ 2019-09-17 22:55 kexinxin 阅读(124) 评论(0) 推荐(0)

java方法的虚分派和方法表
摘要:java:方法的虚分派(virtual dispatch)和方法表(method table) Java方法调用的虚分派 虚分配(Virtual Dispatch) 首先从字节码中对方法的调用说起。Java的bytecode中方法的调用实现分为四种指令: invokevirtual为最常见的情况,包 阅读全文

posted @ 2018-12-20 00:56 kexinxin 阅读(3531) 评论(1) 推荐(3)

java垃圾回收机制
摘要:深入理解Java垃圾回收机制 垃圾回收机制的意义 java语言中一个显著的特点就是引入了java回收机制,是C++程序员最头疼的内存管理问题迎刃而解,它使得java程序员在编写程序的时候不在考虑内存管理。由于有个垃圾回收机制,java中的额外对象不在有"作用域"的概念,只有对象的引用才有"作用域"。 阅读全文

posted @ 2018-12-20 00:55 kexinxin 阅读(256) 评论(0) 推荐(0)

Java正则表达式
摘要:众所周知,在程序开发中,难免会遇到需要匹配、查找、替换、判断字符串的情况发生,而这些情况有时又比较复杂,如果用纯编码方式解决,往往会浪费程序员的时间及精力。因此,学习及使用正则表达式,便成了解决这一矛盾的主要手段。 大 家都知道,正则表达式是一种可以用于模式匹配和替换的规范,一个正则表达式就是由普通 阅读全文

posted @ 2018-12-01 16:05 kexinxin 阅读(199) 评论(0) 推荐(0)

Java 注解
摘要:Java 注解 注解基础知识点 定义:注解(Annotation),也叫元数据。一种代码级别的说明。它是JDK1.5及以后版本引入的一个特性,与类、接口、枚举是在同一个层次。它可以声明在包、类、字段、方法、局部变量、方法参数等的前面,用来对这些元素进行说明,注释。 作用分类: 编写文档:通过代码里标 阅读全文

posted @ 2018-12-01 16:05 kexinxin 阅读(430) 评论(0) 推荐(0)

java泛型
摘要:java泛型 泛型概念的提出(为什么需要泛型)? 首先,我们看下下面这段简短的代码: public class GenericTest { public static void main(String[] args){ List list=new ArrayList(); list.add("qqy 阅读全文

posted @ 2018-12-01 16:04 kexinxin 阅读(186) 评论(0) 推荐(0)

Java 多线程
只有注册用户登录后才能阅读该文。

posted @ 2018-12-01 16:03 kexinxin 阅读(3) 评论(0) 推荐(0)

Java的反射机制
摘要:Java的反射机制 JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;这种动态获取信息以及动态调用对象方法的功能称为java语言的反射机制。 JAVA反射(反射)机制:"程序运行时,允许改变程序结构或变量类型,这种语言称为 阅读全文

posted @ 2018-12-01 16:03 kexinxin 阅读(218) 评论(0) 推荐(0)

上一页 1 2 3 下一页

导航