- 博客(60)
- 资源 (7)
- 收藏
- 关注
原创 Java虚拟机规范官方文档
Java虚拟机规范官方文档https://docs.oracle.com/javase/specs/index.html
2020-07-22 17:47:52
627
1
原创 java之动态代理示例与底层原理
动态代理的意义在于生成一个占位(又称代理对象),来代理真实的对象,从而控制真实对象的访问、JDK动态代理定义接口 123 public interface HelloWorld { public void sayHelloWorld();} 接口实现类 12345678 public class HelloWorldImpl implements HelloWor...
2020-07-21 09:36:04
226
原创 Java反射的详细学习与实例
java.langClass Class<T> public final class Class<T>extends Objectimplements Serializable, GenericDeclaration, Type, AnnotatedElement 方法 All MethodsStatic MethodsInstance MethodsConcrete Methods Modifier and Type Me...
2020-07-20 21:09:04
513
原创 java中的枚举类
java.langClass Enum<E extends Enum<E>> public abstract class Enum<E extends Enum<E>>extends Objectimplements Comparable<E>, Serializable Constructors Modifier Constructor and Description protected .
2020-07-19 17:09:14
239
原创 Servlet体系结构
1 2 3 4 5 6 7 8 91011121314151617181920212223242526272829303132333435 Servlet调用过程浏览器上输入网站,dns解析域名成服务器的IP地址,浏览器带着一个请求行,和众多request请求头,×××器。 1.分析请求的是哪台虚拟主机,查看Host请求头,如果没有Host请求头就访问缺省虚拟主机 2.分析访问的是...
2020-07-13 19:04:36
468
原创 java中的Arrays类详解与示例
所有方法 All MethodsStatic MethodsConcrete Methods Modifier and Type Method and Description static <T>List<T> asList(T...a) Returns a fixed-size list backed by the specified array. 返回指定数组支持的固定大小的列表。...
2020-07-13 10:11:03
337
原创 java多线程系列九之线程池
注意,如果代码出现排序问题,请双击代码部分1.线程池出现的原因 在面向对象编程中,创建和销毁对象是很费时间的,因为创建一个对象要再获取内存资源或者其他更多资源。再JAVA中更是如此,虚拟机将试图跟踪每一个对象,以便能够在对象销毁后进行垃圾回收。所以提高服务效率的一个手段就是尽可能减少创建和销毁对象的次数,特别是一些很耗费资源的对象创建何销毁。如何让利用已有对象来服务就是一个需要解决的关键问腿,其实这就是一些“池化资源”技术产生的原因。比如大家所熟悉的数据库连接池,正是遵循这一思想而产生的。 ..
2020-07-06 22:41:49
159
原创 java中Unsafe类学习
Java和C++语言的一个重要区别就是Java中我们无法直接操作一块内存区域,不能像C++中那样可以自己申请内存和释放内存。Java中的Unsafe类为我们提供了类似C++手动管理内存的能力。Unsafe类,全限定名是sun.misc.Unsafe,从名字中我们可以看出来这个类对普通程序员来说是“危险”的,一般应用开发者不会用到这个类。Unsafe类是"final"的,不允许继承。且构造函数是private的: 1 2 3 4 5 6 7 8 91011 .
2020-07-04 18:54:59
445
原创 java中Condition类详解
Interface Condition All Known Implementing Classes: AbstractQueuedLongSynchronizer.ConditionObject, AbstractQueuedSynchronizer.ConditionObject All MethodsInstance MethodsAbstract Methods Modifier and Type Method and Description v...
2020-07-03 21:54:52
862
原创 java多线程系列八之多线程之间的交互:线程阀
1.阻塞队列BlockingQueue先理解Queue,Deque,BlockingQueue的概念。Queue(队列):用于保存一组元素,不过在存取元素的时候必须遵循先进先出原则,队列是一种特殊的线性表,它只允许在表的前端进行删除操作,而在表的后端进行插入操作,进行插入操作的端称为队尾,进行删除操作的端称为队头,队列中没有元素时,称为空队列。在队列这种数据结构中,最先插入的元素将是最先被删除的元素;反之,最后插入的元素将是最后被删除的元素,因此队列又称为“先进先出”的线性表。Deque(双端队
2020-07-03 17:10:51
460
原创 java多线程系列七之线程安全的集合类
1. HashtableHashtable和HashMap一样,Hashtable也是一个1. HashtableHashtable和HashMap一样,Hashtable也是一个散列表,它存储的内容是键值对(key-value)映射 12345678 Class Hashtable<K,V>继承的类java.lang.Object java.util.Dictionary<K,V> j...
2020-06-26 21:02:00
939
原创 设计模式系列三之单例模式
单例模式单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。注意: 这一点后面要在代码中应用1、单例类只能有一个实例。 2、单例类必须自己创建自己的唯一实例。 3、单例类必须给所有其他对象提供这一实例。优点:1、在内存里只有一个.
2020-06-11 18:55:22
194
原创 java多线程系列五之线程安全概念
先说下Java内存模型与多线程,很重要的。希望大家看完再运行代码,文字部分很重要,最好读熟读透再运行我给的例子,便于理解。读书不能求快,快的话吸收就有问题。上面的这两个问题读者需要完全理解编写线程安全的代码,本质上就是对状态的访问,而且通常都是共享的,可变的状态。 通俗地说,一个对象的状态就是它的数据,存储在状态变量中,比如实例域或静态域。对象的状态还包括了其他附属对象的域。例如,HashMap的状态一部分存储到对象本身中,但同时也存储1到很多Map.Ent...
2020-06-09 22:42:17
124
原创 java多线程系列四之线程异常的处理
run方法不允许throw exception,所有异常必须在run方法内进行处理。public void setUncaughtExceptionHandler(UncaughtExceptionHandler paramUncaughtException){checkAccess();this.uncaughtExceptionHandler=paramUncaughtException;}而UncaughtExceptionHandler则是一个接口,所以我们需要实现它才.
2020-06-08 22:26:38
438
原创 java多线程系列三之ThreadLocal
ThreadLocal当前线程副本构造方法 Constructor and Description ThreadLocal() Creates a thread local variable. 创建一个本地线程变量 该类包含的方法 Modifier and Type Method and Description T get() Returns the value in the cu.
2020-06-08 17:59:06
157
原创 Java多线程系列二之细谈Thread类
构造方法有 Constructor and Description Thread() Allocates a new Thread object. Thread(Runnabletarget) Allocates a new Thread object. Thread(Runnabletarget, Stringname) Allocates a new Thread object. Thre...
2020-06-07 20:49:50
256
原创 Java多线程系列一之创建线程的几种方式
创建线程的方式一.继承Thread类,实现该类的public void run()方法二.实现Runnable接口的public void run()方法三.实现Callable接口中的public <T>call()方法,该方法区别于前两种方式,具有返回值
2020-06-07 08:29:22
203
原创 设计模式系列二之抽象工厂模式
在之前的一篇博客中,我写了工厂模式,接下来就讲下抽象工厂模式。它们之间的区别。工厂模式是针对一个工厂,而抽象工厂包含了多个工厂,是超级工厂。抽象工厂模式(Abstract Factory Pattern)是围绕一个超级工厂创建其他工厂。该超级工厂又称为其他工厂的工厂。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。在抽象工厂模式中,接口是负责创建一个相关对象的工厂,不需要显式指定它们的类。每个生成的工厂都能按照工厂模式提供对象。意图:提供一个创建一系列相关或相互依赖对象的.
2020-06-05 18:49:09
116
原创 设计模式系列一之工厂模式
设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。顾名思义。工厂模式重点就是工厂,工厂是什么地方,生产产品的地方,产品存在于什么地方,当然是产品车间。工厂模式加入产品车
2020-06-05 17:49:58
164
原创 线程安全的集合类
java.util.Hashtablejava.util.concurrent.ConcurrentHashMapjava.util.concurrent.CopyOnWriteArrayList运行结果如下java.util.concurrent.CopyOnWriteArraySet...
2020-03-09 11:41:01
210
原创 Java之Thread安全实现以及注意
高并发,多线程开发的时候如何保证安全和程序的准确性?初识Java内存模型与多线程什么是不安全当多个线程同时操作一个数据结构的时候产生了相互修改和串行的情况,没有保证数据的一致性,我们通常称这种设计的代码为“线程不安全的”。有这么一个场景,假设5个用户,都来给一个数字加1的工作,那么最后应该是得到加5的结果:看一下下面的事例。单个用户干活类:Coun...
2020-03-08 22:02:38
122
原创 简言Java里面的Thread
关于线程的中断机制要使任务和线程能安全,快速,可靠地停止下来,并不是一件容易的事。Java没有提供任何机制来安全地终止线程,那么我们又该如何使用线程的停止或者中断呢?public class ThreadnterruptDemo implements Runnable {public static void main(String[] args)throws Ex...
2020-02-23 19:57:24
146
原创 Java虚拟机字节码执行引擎
运行时栈帧结构1.局部变量表上的在虚拟机使用 关于局部变量表,还有一点可能会对实际开发产生影响,就是局部变量不像前面介绍的类变量那样存在”准备阶段“。类变量有两次赋初始值的过程,一次在准备阶段,赋予系统初始值;另外一次在初始化阶段,赋予程序员定义的初始值。因此,即使在初始值阶段程序员没有为类变量赋值也没...
2020-02-22 22:31:10
89
原创 Java虚拟机类加载机制
虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验,转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制。类加载的时机类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括:加载,验证,准备,解析,初始化,使用和卸载7个阶段。其中验证,准备,解析3个部分统称为连接,这7个阶段的发生顺序如下图所示。 ...
2020-02-20 12:57:15
130
原创 Java虚拟机之锁优化
高效并发是从JDK1.5到JDK1.6的一个重要改进,HotSpot虚拟机开发团队在这个版本上花费了大量的精力去实现各种锁优化技术,如适应性自旋(Adaptive Spinning),锁消除(Lock Elimination),锁粗化(Lock Coarsening),轻量级锁(Lightweight Locking)和偏向锁(Biased Locking)等,这些技术都是为了在线程之间更高地共享...
2020-02-18 10:55:04
108
原创 Java虚拟机之线程安全概念分析
并发处理的广泛应用是使得Amdahl定律代替摩尔定律成为计算机性能发展源动力的根本原因,也是提高计算机运算能力的最强力的武器。《Java Concurrenccy In Practice》作者Brian Goetz对“线程安全”有一个比较合理而恰当的定义:“当多个线程访问一个对象时,如果不用考虑这些线程在运行时环境下的调度和交替执行,也不需要进行额外的同步,或者在调用方进行任何其他的协调操作,...
2020-02-17 21:27:48
127
原创 Java虚拟机之垃圾收集器与内存分配策略
为什么要了解GC和内存分配?答案很简单:当需要排查各种内存溢出,内存泄露问题时,当垃圾收集成为系统达到更高并发量的瓶颈时,就需要对这些"自动化"的技术实施必要的监控和调节。Java堆中一个接口中的多个实现类需要的内存可能不一样,一个方法中的多个分支需要的内存也可能不一样,我们只有在程序处于运行期间时才能知道会创建哪些对象,这部分内存的分配和回收都是动态的,垃圾收集器所关注的是这部分内存。判...
2020-02-14 22:33:30
140
原创 Java虚拟机之java内存区域与内存溢出异常
Java程序员把内存控制交给了java虚拟机,一旦出现内存泄露和溢出方面的问题,如果不了解虚拟机是怎样使用内存的,那么排查错误将会成为一项异常艰难的工作,为此,冲冲冲,冲去学习吧!写的可能不算全面与严谨,大家多多包涵。java虚拟机规范(Java7)规定,java虚拟机所管理的内存将会包括一下几个运行时数据区域。1.程序计数器线程私有的内存(相对于多线程),字节码解释器工...
2020-02-13 22:18:10
126
原创 tp5控制器与layui的动态表格交互
<!DOCTYPE html><html><head> <meta charset="utf-8"> <title>table模块快速使用</title> <link rel="stylesheet" href="__STATIC__/layui/css/layui.css" media="...
2019-07-27 13:00:13
1013
1
原创 实习第二天
201711671215作业1.骰子布局,把整个骰子做出来到页面上2.把小程序完成,能在手机上看或能在开发者工具调试都可以第一题<!DOCTYPE html><html><head> <meta charset="UTF-8"> <meta name="viewport" content="width=...
2019-06-18 21:01:28
179
原创 实习第一天
201711671215作业1.通过js获取输入框中的vlaue值2.点击某个元素,更改该元素的样式3.互换变量值4.乘法口诀第一,二道题的实现<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Ti...
2019-06-17 18:59:14
224
原创 手机销售网后台设计
《JSP程序设计》手机销售网后台设计学号:201711671215本次实验设计以《JSP程序设计》课本第十章的例子项目为基础进行设计添加后台功能,后台页面分成左右两个框,左边显示一个树形菜单,右边根据菜单选择显示相应的交互界面。以实现对用户,产品分类,产品,订单等的后台管理。一、前期工作安装myeclipse2018,将课本第十章的例子项目导入软件并调试好相关环境,保证项目的...
2019-05-21 17:57:41
889
原创 《Java程序设计》第13周学习总结
201711671215《Java程序设计》第13周学习总结----补回第8章学习总结教材学习内容总结第8章:常用实用类主要的常用类有 String类, StringTokenizer类, Scanner类, StringBuffer类, Date类与 Calendar类, Math类, BigInteger类, Random类,Class类与Console类,Pattern类与Mat...
2018-12-15 22:08:18
186
原创 《Java程序设计》第12周学习总结
201711671215《Java程序设计》第12周学习总结教材学习内容总结(第13,14,15章)第13章:Java网络编程一、URL类1 一个URL对象通常包含最基本的三部分信息:协议、地址和资源;2 URL的构造方法:try{ URL url = new URL("http://www.goole.com");}catch(Malform...
2018-12-15 22:05:53
147
原创 《Java程序设计》第11周学习总结
201711671215《Java程序设计》第11周学习总结教材学习内容总结第12章:Java多线程机制一.进程与线程1.操作系统与进程进程是程序的一次动态执行过程。现代操作系统可以同时管理计算机系统的多个线程2.进程与线程线程不是进程,线程是比进程更小的执行单位,线程的中断与恢复可以更加节省系统的开销。二.Java中的线程1.java的多线程机制多线程是指...
2018-12-15 22:04:06
120
原创 《Java程序设计》第10周学习总结
201711671215《Java程序设计》第10周学习总结教材学习内容总结第10章:输入、输出流输入、输出流提供一条通道程序,可以使用这条通道读取源中的数据或把数据传送到目的地。把输入流的指向称作源,程序从指向源的输入流中读取源中的数据;而输出流的指向是数据要去的一个目的地,程序通过向输出流中写入数据把数据传送到目的地。重点:通过文件流读写数据,各种数据流的区别。掌握流的连接思想...
2018-12-09 11:41:44
196
原创 《Java程序设计》第9周学习总结
201711671215《Java程序设计》第9周学习总结教材学习内容总结第11章:JDBC与MySQL数据库许多应用程序都在使用数据库进行数据的存储与查询,MySQL数据库管理系统是应用开发中的主流数据库管理系统之一,而且是开源的。本周这章内容要介绍的就是Java与MySQL的综合应用。重点:创建数据源和掌握JDBC连接的方法;实现查询功能难点:预处理,事务MySQL最初...
2018-12-09 11:39:33
220
原创 《Java程序设计》第8周学习总结
201711671215《Java程序设计》第8周学习总结教材学习内容总结第9章:组件及事件处理一、Java Swing概述通过图形用户界面(GUI),用户和程序之间可以方便地进行交互。这里用到两个包:Java抽象窗口工具包(AWT),javax.swing包。Java的组件把类的子类或间接子类创建的对象称为一个组件。Java把容器的子类或间接子类创建的对象称为一个容器...
2018-12-09 11:37:13
539
原创 《Java程序设计》第7周学习总结
201711671215《Java程序设计》第7周学习总结教材学习内容总结第6章:接口与实现6.1 接口使用关键字interface来定义一个接口。接口的定义和类的定义相似,分为接口声明和接口体,例如:interface Printable { final int MAX=100; void add(); float sum(float x,float ...
2018-11-23 21:05:16
240
asm-master.zip
2020-07-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人