
java
Thinking~
这个作者很懒,什么都没留下…
展开
-
Java设计模式 策略模式
Java设计模式 策略模式策略模式介绍策略模式定义策略模式类图策略模式角色划分策略模式实例解析典型策略模式实现使用Annotation和简单工厂模式增强策略模式策略模式优点策略模式缺点策略模式介绍策略模式定义策略模式(Strategy Pattern),将各种算法封装到具体的类中,作为一个抽象策略类的子类,使得它们可以互换。客户端可以自行决定使用哪种算法。策略模式类图策略模式类图如下策略模式角色划分Strategy 策略接口或者(抽象策略类),定义策略执行接口ConcreteStrateg原创 2020-06-03 10:49:24 · 403 阅读 · 0 评论 -
failed; nested exception is java.lang.NoClassDefFoundError: javax/servlet/jsp/jstl/core/Config
像此种classNotfoundexpection错误一种情况是你在整合项目时没有将依赖的jar包包导入进去war包中解决方法选中put into OutPutRoot将jar包导入ok问题解决原创 2019-05-18 16:33:19 · 400 阅读 · 0 评论 -
CountDownLatch的使用技巧
在使用了多线程处理任务后,最常见的需要就是主线程并不知道任务的完成情况,因此无法决定是继续往下进行还是继续完毕。CountDownLatch是JDK提供给我们的多线程间通信的一个工具,用于让主线程知道任务完成的进度。可以使主线程等待其他线程池内线程执行完毕后再执行。举个例子来说:目前一名老师接到了一个任务,说要把教室里的桌子都擦干净流程是:把桌子擦干净等全部桌子干净了之后,去敲上课铃。...原创 2019-05-15 16:46:47 · 862 阅读 · 0 评论 -
为什么要在http请求后加上时间戳
作用:URL 的末尾追加了时间。这就确保了请求不会在它第一次被发送后即缓存,而是会在此方法每次被调用后重新创建和重发;此 URL 会由于时间戳的不同而稍微有些不同。这种技巧常被用于确保到脚本的 POST 每次都会实际生成新请求且 Web 服务器不会尝试缓存来自服务器的响应。时间戳是加在对controller发起请求的URL中。如1解释的,在URL中加时间戳就会保证每一次发起的请求都是一个不同...原创 2019-05-08 10:16:17 · 13078 阅读 · 0 评论 -
Java设计模式之--观察者模式
观察者模式属于行为型模式的一种,该模式一般用来描述对象之间的依赖关系。行为型模式:关注对象间的交互,研究对象间的相互作用,明确每一个对象职责。观察者模式定义:定义对象之间的一种一对多的依赖关系,当一个对象状态发生改变时,其相关依赖的对象将被通知并自动更新。生活中比如股票的涨跌会影响股民的情绪的变化。(一个对象变化时其依赖的对象会自动变化更新)(类似于监听器)如mvc模式就是用了观察者模式...原创 2019-03-31 19:59:42 · 503 阅读 · 1 评论 -
Java设计模式之----单例设计模式
单例模式简介:它的核心结构中只包含一个被称为单例类的特殊类。通过单例模式可以保证系统中一个类只有一个实例而且该实例易于外界访问,从而方便对实例个数的控制并节约系统资源。如果希望在系统中某个类的对象只能存在一个,单例模式是最好的解决方案。核心:对象只能被实例化一次方式:懒汉式创建单例(线程不安全,如果想实现线程安全要加上synoized关键字)验证:验证这个Singleton类只能创建出一个...原创 2019-03-20 19:07:16 · 150 阅读 · 0 评论 -
jvm详解
. 什么是JVM?JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。Java虚拟机包括一套字节码指令集、一组寄存器、一个栈、一个垃圾回收堆和一个存储方法域。 JVM屏蔽了与具体操作系统平台相关的信息,使Java程序只需生成在Java虚拟机上运行的目标代码(字节码...原创 2019-01-06 10:45:42 · 179 阅读 · 0 评论 -
jvm之内存溢出与内存泄漏
一.内存溢出和内存泄漏内存溢出 out of memory,是指程序在申请内存时,没有足够的内存空间供其使用,出现out of memory;比如申请了一个integer,但给它存了long才能存下的数,那就是内存溢出。内存泄露 memory leak,是指程序在申请内存后,无法释放已申请的内存空间。是不是觉得上文中的内存泄漏的定义比较难理解?其实,内存泄漏用粗俗一点的话来说就是“占着茅坑...转载 2018-12-10 10:54:27 · 179 阅读 · 0 评论 -
java中float和double的区别
float:单精度类型,精度是8位有效数字,取值范围是10的-38次方到10的38次方,float占用4个字节的存储空间double:双精度类型,精度是17位有效数字,取值范围是10的-308次方到10的308次方,double占用8个字节的存储空间若不声明的,默认小数都用double来表示,所以如果要用float的话,则应该在其后加上f例如:float a=1.63;//会显示错误,正确的...原创 2018-12-01 17:59:17 · 16344 阅读 · 1 评论 -
动态代理详解
代理设计模式java设计模式的一种静态代理代理类在程序运行时创建的代理方式被成为 动态代理。 也就是说,这种情况下,代理类并不是在Java代码中定义的,而是在运行时根据我们在Java代码中的“指示”动态生成的。相比于静态代理, 动态代理的优势在于可以很方便的对代理类的函数进行统一的处理,而不用修改每个代理类的函数。动态代理相较于静态代理而言代理对象不在由自己编写而是让程序动态为我们创建一...原创 2018-12-02 09:03:39 · 189 阅读 · 0 评论