java随堂笔记
老王不让用
芝兰生于幽谷,不以无人而不芳; 君子修身立德,不为穷困而改节
展开
-
新建jsp出现Multiple annotations found at this line: - The superclass “javax.servlet.http.HttpServlet
jsp页面出现错误:Multiple annotations found at this line:- The superclass "javax.servlet.http.HttpServlet" was not found on the JavaBuild Path解决方案:1.右键项目 build path2.选择 configure build path3....转载 2019-11-16 16:47:05 · 465 阅读 · 0 评论 -
Java之xml文件解析
摘自:https://www.cnblogs.com/0328dongbin/p/9303275.html目录0、前言1、什么是XML?2、 XML语法2.1、XML文档声明2.2、元素element2.3、属性2.4、注释2.5、转义字符2.6、CDATA区2.7、命名空间(属于语法部分)3、什么是DTD约束4、schema约束5、do...转载 2019-09-20 16:36:03 · 436 阅读 · 0 评论 -
java基础:抽象类、接口
1、抽象类1.1、abstract 修饰符首先,用abstract修饰的类叫做抽象类。在讲抽象类之前有必要强调一下abstract修饰符:1. abstract修饰的类为抽象类,此类不能有对象,(无法对此类进行实例化,说白了就是不能new);2. abstract修饰的方法为抽象方法,此方法不能有方法体(就是什么内容不能有);1.2、抽象类的特点1.抽象类不...原创 2020-03-02 20:48:47 · 269 阅读 · 0 评论 -
String,StringBuffer与StringBuilder的区别
String 字符串常量StringBuffer 字符串变量(线程安全,其成研方法都加了synchronized 关键字)StringBuilder 字符串变量(非线程安全) 简要的说, String 类型和 StringBuffer 类型的主要性能区别其实在于 String 是不可变的对象, 因此在每次对 String 类型进行改变的时候其实都等同于生成了一个新的 Strin...转载 2020-02-27 19:39:09 · 151 阅读 · 0 评论 -
java多线程:Callable & Future & FutureTask
目录1、Callable 与 Runnable2、Future3、FutureTask4、使用示例1、Callable 与 Runnable先说一下java.lang.Runnable吧,它是一个接口,在它里面只声明了一个run()方法:public interface Runnable { public abstract void run();}由...转载 2020-01-23 17:28:03 · 281 阅读 · 0 评论 -
java多线程:线程池(JUC)
前言 并发是伴随着多核处理器的诞生而产生的,为了充分利用硬件资源,诞生了多线程技术。但是多线程又存在资源竞争的问题,引发了同步和互斥的问题,JDK1.5推出的java.util.concurrent(并发工具包)来解决这些问题。目录1、JUC概述2、线程池分类2.1、可缓存线程池CachedThreadPool2.2、定长线程池FixedThreadPoo...原创 2020-01-30 17:51:43 · 417 阅读 · 0 评论 -
java多线程:wait/notify实现线程间通信
忙等待没有对运行等待线程的 CPU 进行有效的利用(而且忙等待消耗cpu过于恐怖,请慎用),除非平均等待时间非常短。否则,让等待线程进入睡眠或者非运行状态更为明智,直到它接收到它等待的信号。 Java 有一个内建的等待机制来允许线程在等待信号的时候变为非运行状态。java.lang.Object 类定义了三个方法,wait()、notify()和 notifyAll()...原创 2019-12-27 16:49:08 · 244 阅读 · 0 评论 -
Java基础:synchronized同步锁用法及作用范围
引言 Java 中的 synchronized 关键字可以在多线程环境下用来作为线程安全的同步锁。本文主要对 synchronized 的作用,以及其有效范围进行讨论。目录1、线程锁分类2、对象锁2.1、单个同步方法2.2、多个同步方法2.3、同步方法在不同对象之间相互独立2.4、同步方法和其他方法之间的关系3、类锁3.1、单个类锁...转载 2019-12-25 18:48:33 · 753 阅读 · 0 评论 -
java基础:接口中仅有一个方法,作为参数时匿名实现
学习到多线程的实现方式时,其中之一是实现Runnable,代码如下: new Thread(new Runnable() { @Override public void run() { // TODO Auto-generated method stub System.out.println("thread 1 running"); } }).start();...原创 2019-12-24 21:03:35 · 999 阅读 · 0 评论 -
Java基础:内部类
目录前言普通内部类静态内部类匿名内部类局部内部类内部类的嵌套前言 内部类在 Java 里面算是非常常见的一个功能了,在日常开发中我们肯定多多少少都用过,这里总结一下关于 Java 中内部类的相关知识点和一些使用内部类时需要注意的点。从种类上说,内部类可以分为四类:普通内部类、静态内部类、匿名内部类、局部内部类。我们来一个个看:普通内部类...转载 2019-12-20 15:50:33 · 171 阅读 · 0 评论 -
Java基础:权限修饰符
权限修饰符的访问权限private: 是为本类准备的默认:是为同一个包下的类准备的protected:是为子类准备的,无论子类在任何地方public: 为所有类准备的权限修饰符的一般用法类:public成员变量:private构造方法:public (当定义一个工具类(单实例)的时候 需用private)成员方法:public (当成员方法仅供本类使用,需用private)接...转载 2019-12-20 10:43:01 · 79 阅读 · 0 评论 -
Java中实现多态的机制是什么?
多态就是指一个引用变量倒底会指向哪个类的实例对象,该引用变量发出的方法调用到底是哪个类中实现的方法,必须在由程序运行期间才能决定。 因为在程序运行时才确定具体的类,这样,不用修改源程序代码,就可以让引用变量绑定到各种不同的类实现上,从而导致该引用调用的具体方法随之改变,即不修改程序代码就可以改变程序运行时所绑定的具体代码,让程序可以选择多个运行状态,这就是多态性。...转载 2019-12-17 16:13:11 · 189 阅读 · 0 评论 -
Java中Class对象详解
Class类简介 在java世界里,一切皆对象。从某种意义上来说,java有两种对象:实例对象和Class对象。每个类的运行时的类型信息就是用Class对象表示的。它包含了与类有关的信息。其实我们的实例对象就通过Class对象来创建的。Java使用Class对象执行其RTTI(运行时类型识别,Run-Time Type Identification),多态是基于RTTI实现的。 每一个类...转载 2019-12-17 15:01:16 · 161 阅读 · 0 评论 -
Eclipse导入javax.servlet出错
step1:选中项目->properties step2:选择的Targeted Runtimes step3:选择右边你所打开的Tomcat 服务器->apply即可原创 2019-11-15 18:23:05 · 574 阅读 · 0 评论 -
JavaWeb项目的WEB-INF下面没有出现web.xml
创建的项目如果Dynamic web module version选择的是3.0则不自动创建web.xml,需要按下图勾选:转载 2019-11-15 14:53:40 · 533 阅读 · 0 评论 -
org.hibernate.hql.ast.QuerySyntaxException: is not mapped解决办法
is not mapped这个异常的抛出主要有几个方面:1、首先要检查的就是不是表名,这个应该大家都知道,hql语句对大小写很严格,因此请注意大小写;你的hql语句中的from是实体类而不是表名;2、你的hibernate配置文件中没有加入相应的映射文件<mapping resource=" " />;3、如果上面两方面检查了都没问题,但是还有错,那就是hql语句有错了,好...转载 2019-11-14 14:57:50 · 6389 阅读 · 1 评论 -
AOP之execution语法
execution(* spring_aop_test..*.*(..))解释如下:符号 含义 execution() 表达式的主体; 第一个”*“符号 表示返回值的类型任意; spring_aop_test AOP所切的服务的包名,即,我们的业务部分 包名后面的”..“ 表示当前包及子包 第二个”*“ 表示类名,*即所有类。此...原创 2019-10-29 16:07:12 · 349 阅读 · 1 评论 -
spring之AOP实现步骤详解
简要记录一下spring下实现面向切面编程的步骤目录一、 AOP的helloWorld步骤1.1、加入 jar 包1.2、在 Spring 的配置文件中加入 aop 的命名空间1.3、基于注解/配置的方式来使用 AOP1.4、编写切面类1. 5. 配置切面二、注解方式代码2.1、bean文件配置2.2、目标类3.3、切面类3.4、测试类...原创 2019-10-29 15:43:02 · 1318 阅读 · 0 评论 -
Java中的动态代理详解
转载:https://www.ibm.com/developerworks/cn/java/j-lo-proxy1/index.html前言 Java 动态代理机制的出现,使得 Java 开发人员不用手工编写代理类,只要简单地指定一组接口及委托类对象,便能动态地获得代理类。代理类会负责将所有的方法调用分派到委托对象上反射执行,在分派执行的过程中,开发人员还可以按需调整委托类对...原创 2019-09-18 19:50:48 · 1724 阅读 · 0 评论 -
Java单例模式
Java中单例(Singleton)模式是一种广泛使用的设计模式。单例模式的主要作用是保证在Java程序中,某个类只有一个实例存在。一些管理器和控制器常被设计成单例模式。单例模式有很多好处,它能够避免实例对象的重复创建,不仅可以减少每次创建对象的时间开销,还可以节约内存空间;能够避免由于操作多个实例导致的逻辑错误。如果一个对象有可能贯穿整个应用程序,而且起到了全局统...转载 2019-09-19 21:05:25 · 172 阅读 · 0 评论 -
JVM中类的加载流程
首先Throws(抛出)几个自己学习过程中一直疑惑的问题:1、什么是类加载?什么时候进行类加载?2、什么是类初始化?什么时候进行类初始化?3、什么时候会为变量分配内存?4、什么时候会为变量赋默认初值?什么时候会为变量赋程序设定的初值?5、类加载器是什么?6、如何编写一个自定义的类加载器? 首先,在代码编译后,就会生成JVM(Java虚拟机)能够识别的二进制...转载 2019-08-14 15:33:13 · 170 阅读 · 0 评论 -
java中==与equel的区别
转载:https://xiashengchao.iteye.com/blog/753409值类型是存储在内存中的堆栈(以后简称栈),而引用类型的变量在栈中仅仅是存储引用类型变量的地址,而其本身则存储在堆中。 ==操作比较的是两个变量的值是否相等,对于引用型变量表示的是两个变量在堆中存储的地址是否相同,即栈中的内容是否相同。 equals操作表示的两个变量是否是对同一个对象的...转载 2019-07-23 17:24:29 · 416 阅读 · 0 评论 -
Java之注释(Annotation)
文章目录1 Annotation简介2 系统内建的Annotation2.1 @Override2.2 @Deprecated2.3 @SuppressWarnings3 自定义Annotation3.1 Annotation的定义格式3.1.1 定义简单的Annotation3.1.2 向Annotation中设置内容3.1.3 默认值3.1.4 使用...转载 2019-09-16 20:42:20 · 280 阅读 · 0 评论 -
一篇搞定Spring bean全部配置
鉴于Spring bean装配方式多且繁杂,应用广泛且易错,特地将所涉及的相关知识收拢成一文,以便总结、提炼、消化。欢迎大佬补充。内容较多,先上图提神。目录1、IOC&DI概述2、基于 XML 文件2.1、Bean 的配置方式2.1.1、通过全类名(反射)2.1.2、通过工厂方法(静态工厂方法 & 实例工厂方法)2.1.3、F...原创 2019-11-25 19:36:15 · 1108 阅读 · 1 评论 -
Java中的反射机制详解
目录序言一、什么是反射?二、反射机制能够获取哪些信息?Class类的API详解 2.1、通过字节码对象创建实例对象 2.2、获取构造器方法。 2.2.1、获取指定构造器 2.2.2、获取全部构造器 2.3、获取成员变量并使用Field对象 2.3.1、获取指定成员变量 2.3.2、获取全部成员变量...转载 2019-09-17 17:08:42 · 205 阅读 · 0 评论 -
Java集合遍历之迭代器
1、Iterable接口类 实现了Iterable接口的类是可以遍历的。因为Iterable接口是Collection接口的父接口,而所有集合类都实现了Collection接口,从而也都实现了Iterable接口,所以所有集合类都是可以遍历的。Iterable接口只定义了一个方法:Iterator<T>iterator()//返回迭代器对象2、...原创 2019-08-02 15:49:42 · 512 阅读 · 0 评论 -
Java集合collection详解
0、集合概述(1)集合是存储其他对象的特殊对象。可以将集合当做一个容器(2)集合的相关接口和类位于java.util包中(3)集合中的接口和类是一个整体、一个体系,整个体系称为集合框架集合与数组的相同点和不同点:数组的长度是固定的,集合的长度可以变化集合中存储的元素必须是引用类型数据接口:集合框架定义了一些接口,它们决定了集合类的本质特性。具体的集合类只是...原创 2019-08-02 15:40:16 · 375 阅读 · 0 评论 -
java 泛型详解
目录1、概述2、一个栗子3、泛型特点4、泛型的使用4.3、泛型类4.4、泛型接口4.5、泛型通配符'?'4.6、泛型方法4.6.1、泛型方法的基本用法4.6.2、类中的泛型方法4.6.3、泛型方法与可变参数4.6.4、静态方法与泛型4.6.5、泛型方法小结4.6、泛型上下边界extends,super4.7、关于泛型数组要提一下5、最...转载 2019-07-25 09:52:52 · 232 阅读 · 0 评论 -
Java成员变量、局部变量的默认值和初始化
转载:https://blog.csdn.net/qq_24644517/article/details/82288493package deep;public class DefaultValue { // 实例成员变量 private boolean bool; private byte b; private short s; private ...转载 2019-07-24 11:54:46 · 9538 阅读 · 3 评论 -
Java中的Condition类
转载:https://blog.csdn.net/yanghan1222/article/details/80256526一、Condition简介任意一个Java对象,都拥有一组监视器方法(定义在Object类中),主要包括wait,notify,notifyAll方法,这些方法与synchornized关键字相配合,可以实现等待/通知模式。Condition...转载 2019-07-16 15:43:03 · 1672 阅读 · 0 评论 -
ReenTrantLock和synchronized的区别
转载:https://blog.csdn.net/qq838642798/article/details/65441415可重入性:从名字上理解,ReenTrantLock的字面意思就是再进入的锁,其实synchronized关键字所使用的锁也是可重入的,两者关于这个的区别不大。两者都是同一个线程每进入一次,锁的计数器都自增1,所以要等到锁的计数器下降为0时才能释放锁。锁的实现:...转载 2019-07-16 14:42:38 · 153 阅读 · 0 评论 -
JAVA线程池中的shutdown和shutdownNow方法区别
转载:https://blog.csdn.net/horero/article/details/77622951一般情况下,当我们频繁的使用线程的时候,为了节约资源快速响应需求,我们都会考虑使用线程池,线程池使用完毕都会想着关闭,关闭的时候一般情况下会用到shutdown和shutdownNow,这两个函数都能够用来关闭线程池,那么他们俩之间的区别是什么呢?下面我就用一句话来说明白shutdo...转载 2019-07-15 17:12:58 · 2825 阅读 · 1 评论 -
使用迭代器遍历List的时候修改List报ConcurrentModificationException异常原因分析
转载:https://www.cnblogs.com/liuling/p/2013-8-21-04.html测试代码:package com.others;import java.util.ArrayList;import java.util.Iterator;import java.util.List;import java.util.concurrent.CopyOnWri...转载 2019-07-10 11:16:55 · 389 阅读 · 0 评论 -
Java之可变参数
1、概述在JDK1.5之后,如果我们定义一个方法需要接受多个参数,并且多个参数类型一致,我们可以对其简化成如下格式:修饰符 返回值类型 方法名(参数类型...形参名){ }其实这个书写完全等价与修饰符 返回值类型 方法名(参数类型[] 形参名){ }只是后面这种定义,在调用时必须传递数组,而前者可以直接传递数据即可。jdk1.5以后。出现了简化操作。...用在参数上...原创 2019-08-02 16:24:05 · 198 阅读 · 0 评论 -
java集合之map详解
1、Map接口概述 Map接口下的集合与Collection接口下的集合,它们存储数据的形式不同。Collection中的集合,元素是孤立存在的(理解为单身),向集合中存储元素采用一个个元素的方式存储。 Map中的集合,元素是成对存在的(理解为夫妻)。每个元素由键与值两部分组成,通过键可以找对所对应的值。 Collection中的集合称为单列集合,Map中的集合称为双列集合。...原创 2019-08-02 17:20:56 · 275 阅读 · 0 评论 -
java数组用法
转载:https://www.cnblogs.com/Parker-YuPeng/p/8551000.html https://blog.csdn.net/rookiegan/article/details/82427224 https://blog.csdn.net/qq_35580883/article/details/79115707数组是一个...转载 2019-07-25 20:08:18 · 281 阅读 · 0 评论 -
Java二维数组及其拷贝方式详解
一、二维数组定义方式//规则数组int[][]array=new int [2][3];//二维数组定义 int[][]array1={{1,2,3},{4,5,6}}; int[][]array3=new int[][]{{1,2,3},{4,5,6}}; //不规则数组 int[][] array4 = new int[2][]; array4[0...转载 2019-09-13 10:59:50 · 1833 阅读 · 0 评论 -
康威生命游戏之JUint
一、需求描述你的任务是写一个程序来计算给定起始位置下的下一代康威生命游戏。游戏从一个两维的网格开始,每一个网格有两种状态:存活、死亡。网格是有限的,没有生命可以存活在边界之外。当计算下一代网格时,需要遵循下述四个规则:1. 任何四周邻居存活数少于两个的存活网格将死亡,因为人口稀少。2. 任何四周邻居存活数多于三个的存活网格将死亡,因为过度拥挤。3. 任何四周邻居存活数...原创 2019-09-13 09:47:21 · 860 阅读 · 0 评论 -
java中的GC机制
转载:https://blog.csdn.net/laomo_bible/article/details/83112622 https://blog.csdn.net/weixin_41835916/article/details/81530733垃圾收集 Garbage Collection 通常被称为“GC”,本文详细讲述Java垃圾回收机制。导读1、什么是...转载 2019-08-16 16:12:45 · 8097 阅读 · 0 评论 -
JVM类加载机制详解之类加载器与双亲委派模型
转载:https://blog.csdn.net/zhangliangzi/article/details/51338291前言 类加载机制的第一个阶段加载做的工作有: 1、通过一个类的全限定名(包名与类名)来获取定义此类的二进制字节流(Class文件)。而获取的方式,可以通过jar包、war包、网络中获取、JSP文件生成等方式。 ...转载 2019-08-15 15:32:28 · 301 阅读 · 0 评论