Java笔记
jilezheng
这个作者很懒,什么都没留下…
展开
-
锁
原文:https://zhuanlan.zhihu.com/p/71156910 网上关于Java中锁的话题可以说资料相当丰富,但相关内容总感觉是一大串术语的罗列,让人云里雾里,读完就忘。本文希望能为Java新人做一篇通俗易懂的整合,旨在消除对各种各样锁的术语的恐惧感,对每种锁的底层实现浅尝辄止,但是在需要时能够知道去查什么。 首先要打消一种想法,就是一个锁只能属于一种分类。其实并不是这样,比如一个锁可以同时是悲观锁、可重入锁、公平锁、可中断锁等等,就像一个人可以是男人、医生、健身爱好者、游戏玩家,这并不矛转载 2021-04-21 00:49:15 · 123 阅读 · 0 评论 -
线程挂起、睡眠、阻塞
线程从创建、运行到结束总是处于下面五个状态之一:新建状态、就绪状态、运行状态、阻塞状态及死亡状态。 下图是使用时间片轮转法的操作系统进程的状态和它们之间的转换。 挂起和睡眠是主动的,挂起恢复需要主动完成,睡眠恢复则是自动完成的,因为睡眠有一个睡眠时间,睡眠时间到则恢复到就绪态。而阻塞是被动的,是在等待某种事件或者资源的表现,一旦获得所需资源或者事件信息就自动回到就绪态。 睡眠和挂起是两种行为,阻塞则是一种状态。 操作系统中睡眠、阻塞、挂起的区别形象解释:首先这些术语都是对于线程来说的。对线程的控制就好比你转载 2021-04-18 16:45:28 · 628 阅读 · 0 评论 -
ssm
Bean package bean; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; @Data @NoArgsConstructor @AllArgsConstructor public class User { private Integer id; private String loginName; private String password;原创 2021-03-12 08:09:53 · 80 阅读 · 0 评论 -
dispatcherServlet
dispatcherServlet: handlerMapping:将请求映射到一个handler handlerAdapter:解析被映射的handler/controller的注解并调用这个 handler/controller viewResolver:根据handler返回的String类型视图名称解析出这个视图原创 2021-03-10 13:32:44 · 124 阅读 · 0 评论 -
stream流
JDK8为Collection新添加了Stream流,跟我们以往的IO流或者XML处理中的流没有任何关系,是一个船新针对集合数据进行便捷高效的聚合操作与大批量数据处理操作 Iterator(迭代器)不是一个集合,它是一种用于访问集合的方法,可用于迭代 ArrayList 和 HashSet 等集合。 Stream<E> stream();流,Stream 不是集合元素,它不是数据结构并不保存数据,它是有关算法和计算的, 它更像一个高级版本的 Iterator。 ...原创 2021-02-04 17:22:46 · 64 阅读 · 0 评论 -
JSP和HTML的区别
区别:1、HTML运行在客户端,由浏览器解释执行;JSP运行在服务器端,需要web容器提供运行环境。2、HTML侧重于静态数据展示,生成静态网页;JSP侧重于和服务器交互,主要用动态网页开发。3、HTML加载速度比JSP快。 HTML(Hypertext Markup Language)文本标记语言,它是静态页面,和JavaScript一样解释性语言,为什么说是解释性语言呢?因为,只要你有一个浏览器那么它就可以正常显示出来,而不需要指定的编译工具,只需在TXT文档中写上HTML标记就OK。 JSP(Java转载 2021-02-04 17:04:16 · 442 阅读 · 0 评论 -
web容器
Tomcat容器属于web容器的一种,web容器还包括weblogic容器、JBoss容器等;而Tcomcat、webLogic等包含servlet容器。 个人的一句话理解,有异议欢迎在下方评论! 下面简单介绍下这三者的概念: web容器:用于部署一个或多个WEB应用程序的环境。 Tomcat容器:是Java Servlet,JavaServer Pages,Java Expression Language和Java WebSocket(Java EE)技术的开源实现。 Servlet容器:全称server转载 2021-02-04 15:34:52 · 121 阅读 · 0 评论 -
代码块
构造代码块 使用{}包裹的代码区域,这里的代码区域特指位于class{}下面的而不是存在于其他type method(){}这类函数下面的代码区域 public class HelloA { /** ... */ { System.out.println("I'm A construct code block"); } } 构造函数代码块 构造函数代码块指的是构造函数中所包含的代码,类似className(){}中的代码块 public clas转载 2021-01-31 11:35:59 · 91 阅读 · 1 评论 -
接收键盘输入跳过nextLine()的问题
java中Scanner类中:next()或nextInt()等与 nextLine()方法联用而且用在nextLine的前面时。nextLine会把前者的结束符“换行符”作为字符串读入,进而nextLine不从键盘接收输入,直接转向nextLine的下一条语句执行。 处理方法:在nextline()之前添加一个无用的nextLine() ...原创 2021-01-26 21:57:08 · 138 阅读 · 0 评论 -
为什么使用 List list = new ArrayList() 而不用 ArrayList alist = new ArrayList()
为什么一般都使用 List list = new ArrayList() ,而不用 ArrayList alist = new ArrayList()呢? 这种写法其实java多态的表现形式 多态的定义:指允许不同类的对象对同一消息做出响应。即同一消息可以根据发送对象的不同而采用多种不同的行为方式。(发送消息就是函数调用) List list;是在栈区开辟一个空间放list引用,并没有创建对象所以不知道ArrayList还是LinkedList当你list= new ArrayList(); 就创建了Arr转载 2021-01-26 15:55:03 · 1461 阅读 · 0 评论 -
lambda表达式的Stream流
JDK8为Collection新添加了Stream流,跟我们以往的IO流或者XML处理中的流没有任何关系,是一个船新针对集合数据进行便捷高效的聚合操作与大批量数据处理操作 Iterator(迭代器)不是一个集合,它是一种用于访问集合的方法,可用于迭代 ArrayList 和 HashSet 等集合。 Stream stream();流,Stream 不是集合元素,它不是数据结构并不保存数据,它是有关算法和计算的, 它更像一个高级版本的 Iterator。 获取迭代器 Iterator it = collec原创 2021-01-25 22:09:19 · 112 阅读 · 0 评论 -
java匿名内部类
匿名内部类即没有名字的内部类 正因为没有名字,匿名内部类只能使用一次,它通常用来简化代码编写 但使用匿名内部类还有个前提条件:必须继承一个父类或实现一个接口 实例1:不使用匿名内部类来实现抽象方法 abstract class Person { public abstract void eat(); } class Child extends Person { public void eat() { System.out.println("eat something");转载 2021-01-18 20:20:44 · 98 阅读 · 0 评论 -
Java堆区、栈区
内存总体分为了4个部分,包括stacksegment、heapsegment、codesegment、datasegment。 其中我们程序中用关键字new出来的东西都是存放在heapsegment。 程序中的局部变量存放在stacksegment,这些局部变量是在具体方法执行结束之后,系统自动释放内存资源(而heapsegment中的资源需要java垃圾回收机制来处理)。 程序中的方法,是内存中的codesegment中的,而且是多个对象共享一个代码空间区域。 static静态变量,存放...转载 2020-12-28 22:12:11 · 126 阅读 · 0 评论 -
Java的数据类型、变量类型
两大数据类型: 一、基本数据类型:数字型(byte, short, int, long, float, double)、字符型(char)、布尔型(boolean) 二、引用数据类型:类、接口、数组 1.引用数据类型的变量并不包含类型的实例(对象),而只是包含对对象的引用。引用型变量实际保存的是对象在内存中的地址。 2.引用存放在栈中,对象存放在堆中; 三大变量类型: 一、局部变量 1.声明在方法、构造方法、语句块中; 2.在方法、构造方法、语句块运行是时创建,结束时销毁; 2.没有.原创 2020-12-28 20:39:38 · 114 阅读 · 0 评论