- 博客(48)
- 收藏
- 关注
原创 并发学习笔记——ThreadPoolExecutor 01
1 构造方法 public ThreadPoolExecutor( int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit, BlockingQueue<Runnable
2021-12-07 14:27:57 302
原创 并发学习笔记——Synchronized & ReentrantLock
0 互斥同步同步:保证共享数据在同一时刻只被一个(使用信号量的时候可以是多个)线程使用互斥:互斥是实现同步的手段,同步是互斥要实现的目的操作系统层面的概念:临界区互斥量信号量1 Synchronized1.1. 修饰代码块synchronized关键字经过编译后会在代码块(同步块)的前后形成monitorenter、monitorexit两个字节码指令,这两个字节码都需要一个reference类型的参数来指明要锁定和解锁的对象;执行monitorenter,如果获取到对象的锁或者当
2021-11-26 11:41:26 751
原创 并发学习笔记——ThreadLocal
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar
2021-11-16 11:14:57 459
原创 ArrayList 源码
ArrayList0、transient被它修饰的元素不会被序列化使用另外的序列化方式,节省了空间(ArrayList的容量>=实际元素数量,如果直接序列化ArrayList的elementData[]元素数组,会把不含元素的空间也序列化,造成空间的浪费)这是一个用于存储ArrayList元素的缓冲数组,ArrayList的容量是数组的长度。任意一个空的,使用无参构造方法创建出来的ArrayList,第一次添加元素的时候,都要被扩充到默认初始化容量。序列化把ArraList实例以流的
2020-06-29 14:40:49 185 2
转载 ConcurrentHashMap
直接看大佬的https://gitee.com/SnailClimb/JavaGuide/blob/master/docs/java/collection/ConcurrentHashMap.md
2020-06-28 14:37:27 101
原创 HashMap源码
HashMap单个数组元素 桶整个数组 table一、结构基础1.1哈希先计算key的hashCode再使用扰动函数(减少哈希碰撞几率 )得到hash值 static final int hash(Object key) { int h; return (key == null) ? 0 : (h = key.hashCode()) ^ (h >>> 16); }1.2 transient Set<Map.Ent
2020-06-28 14:13:16 162
原创 JavaSE 文件与IO 流
流代表有能力产生数据的数据源对象或者有能力接收数据的接收端对象。面向字节:InputStreamOutputStream面向字符:ReaderWriterInputStream OutputStream 字节流不同的数据源有不同的InputStream子类与之对应流作用FileInputStream从文件中读取信息StringBufferI...
2019-12-18 21:24:14 123
原创 JavaSE面向对象03
Object类equals ==Object 的 equals单纯的比较两个对象变量是否引用了相同的对象—指向内存同一区域public boolean equals(Object obj) { return (this == obj); }String 的 equals /** * Compares this string to the ...
2019-12-17 22:40:12 92
原创 JavaSE面向对象02 继承
overload 重载override 覆盖 子类的方法覆盖超类的方法super指示编译器调用超类方法的一个关键字。方法覆盖public class SuperTest { public static void main(String[] args) { // TODO Auto-generated method stub Manager m = new Manager...
2019-12-17 21:57:13 159
原创 jvm阅读03垃圾收集
并行与并发并行:多任务同一时刻进行;多个指令在多个CPU上运行;宏观微观都是同时。并发:多任务同一时间段进行(交替执行);多个指令在一个CPU上运行;宏观同时,微观串行。垃圾收集器:内存回收的具体实现。Serial单线程:在进行垃圾收集时,必须暂停其他所有的工作线程,在用户不可见的情况下停掉用户正常工作的线程。是虚拟机运行Client模式下默认的新生代收集器,没有线程交互开销,单...
2019-12-15 20:47:46 93
原创 JavaSE 面向对象01
概述程序: 数据结构&算法。面向对象:先决定如何组织数据,再决定如何操作数据;先设计类,再添加方法。instance:创建类的实例也就是由类构造对象。封装:将数据和行为组合起来,并对对象的使用者隐藏数据的实现方式;实例域(instance field)存放数据,行为即方法(method)操作数据。类之间的关系:依赖、聚合、继承。依赖:use、偶然性、临时性。例如类B作为类A...
2019-12-14 18:01:54 88
原创 jvm 阅读02 垃圾收集
可回收对象判断死亡算法引用计数法:对象中添加一个引用计数器,被引用计数器+1,引用失效计数器-1,计数器为0的对象就是不能被再利用的。缺点:当两个对象相互引用时,影响这两个对象的回收ObjA.instance = ObjB;ObjB.instance = ObjA;可达性分析 Reachability Analysis当一个对象到达“GC Roots”没有任何引用链时,这...
2019-12-12 10:23:20 79
原创 jvm阅读01 内存区域
内存分区程序计数器当前线程所执行字节码的行号指示器,一个处理器只会执行一条线程中的指令,每个线程都有一个程序计数器。线程执行java方法:计数器内容即java虚拟机当前执行的指令字节码地址;线程执行native方法:计数器为空。native方法→java调用非java代码的接口。java虚拟机栈→Java方法执行的内存模型方法:调用→执行完毕栈帧(存储变量表,操作数栈,方法出口灯...
2019-12-11 20:30:45 93
原创 Spring 04 MVC
Maven Eclipse 整合SSMMVC概念Module:View:Controller:Spring MVC原理 — 请求驱动客户端发出请求,请求提交到DispatcherServletDispatcherServlet查询HandlerMapping,得到Handler路径HandlerAdapter调用真正的Handler处理请求Handler处理完成,返回Model...
2019-12-02 17:37:14 102
原创 ajax
Http请求–网络知识请求响应ajax–Asynchronous JavaScript and XML传输数据类型:json xml应用场景:搜索框联想功能,局部刷新实现分页效果,表单数据校验(重名,非空等等)XMLHttpRequest对象图片来源https://www.zhihu.com/search?type=content&q=ajax%E5%89%8D%E5%...
2019-12-02 16:56:10 117
原创 JavaSE 多线程-02
synchronized方法常识访问局部变量不会产生线程安全问题访问实例变量会产生线程安全问题多个对象多个锁两个线程是异步执行的,因为在main中创建了两个对象,每个对象各自对应一个锁,即线程和锁对象是一对一的关系,每个线程执行自己所属业务对象的同步方法,不存在争抢关系。只有当线程和业务对象是多对一的关系时才会出现线程安全问题进而使用同步锁。public class Thread...
2019-11-30 17:58:36 106
原创 JavaSE 多线程-01
Thread 启动 暂停 停止 优先级 安全线程与进程的概念进程:线程:使用多线程也就是在使用异步。守护线程:非守护线程的保姆,GC垃圾回收器。(调用方法setDaemo())线程实现方法:继承Thread类(Thread类也实现了Runnable接口)、实现Runnable接口。前者不能实现多继承,需要多继承时使用第二种方法,实际上这两种方法创建的线程功能是一样的。Thre...
2019-11-28 17:16:48 170
原创 MySQL基础
概念层次database table column row数据库→表→行、列,行是专业术语,也可以说成是记录。主键主键列不允许有NULL,主键值不能重复。能唯一区分表中的每个行,保证更新,删除操作只针对特定的行。通常定义在表中的一个列上,也可以使用多个列作为主键。数据库、表create database database_name;drop database data...
2019-11-13 21:43:04 110
原创 Maven&Nginx
Maven作用:构建项目,管理包。库:中央库,镜像库,私服,本地库。资源定位:<groupId><artifactId><version>配置:本地库,镜像库使用:命令行指令mvn archetype:generatemvn compile导入pom文件中指定的依赖将src/main目录下的源码和资源编译后存放到target/class...
2019-10-28 21:36:12 764
原创 Spring05 DAO 事务
事务TransactionDefinition:事务隔离级别,事务传播行为,事务超时,事务只读属性,事务回滚规则等。PlatformTransactionManager:事务管理策略Public interface PlatformTransactionManager{ TransactionStatus getTransaction(TransactionDefinition d...
2019-10-24 22:25:12 142
原创 Tomcat与Servlet小结
一、浏览器里输入URL,回车后发生了什么详细介绍 https://4ark.me/post/b6c7c0a2.htmlURL解析DNS解析TCP连接处理请求和响应浏览器渲染页面URL解析–抽取域名字段什么是URLURL(Universal Resource Locator),统一资源定位符,也就是我们常说的网址。用来标记在互联网上的万维网文档(web资源),互联网上的每个w...
2019-09-18 19:52:15 233
原创 TCP/IP
所有知识来自谢老师的书计算机网络分层模型五层体系结构,由上到下名称作用传输单位协议(TCP/IP协议最重要)应用层(appliaction layer)通过应用进程之间的交互,来完成特定的网络应用报文(message)HTTP、DNS、SMTP(用来支持电子邮件的协议)等运输层(准确译名transport)为两台主机之间的进程通信提供数据传输服务报文...
2019-09-18 14:13:46 158
原创 day13 jsp el jstl
JSP一个jsp页面在被访问的时候,会由jsp翻译引擎翻译为一个servlet文件去执行,向页面输出数据。实验:寻找jsp对应的servlet文件→控制台→日志中c盘路径→work→找找找模板元素原本页面中的html内容被jsp引擎翻译为servlet脚本表达式<%=jsp表达式%>,其中可以填写一个直接量,或者是一个有返回值的表达式。脚本表达式被servlet引擎翻译为s...
2019-09-16 23:09:01 220 1
原创 前端--边用边查边学边记录
来自教程来自教程前置知识jQuery$(selector).action()选择器 $().action基本选择器元素选择器 标签类型$("p")$("h1")$("span")类选择器 .class<h1 class="center">标题居中</h1>$(".center")id选择器 #$("#id")选择器后代选...
2019-09-11 19:53:26 81
原创 Servlet--Response
响应乱码处理字节流服务器发送数据时采用getByte方法,默认使用平台码GBK,浏览器接收时也是GBK可以设置接收数据使用的字符集,通知浏览器的代码要写在最前面@WebServlet("/ResponseDemo1")public class ResponseDemo1 extends HttpServlet { protected void doPost(HttpServl...
2019-09-10 01:28:29 108
原创 Servlet--Request2
request功能请求转发–资源跳转在多个资源之间共享数据,在浏览器看来依然是demo4给的资源,一次请求,一次响应内部跳转,浏览器感知不到—地址栏不会发生变化requestDispatcher 调度器forward 请求转发,请求对象和响应对象转发到下一个资源同一个Servlet不可以多次请求转发,请求转发前后的代码可以正常执行。demo4@WebServlet("/Req...
2019-09-10 00:57:48 139
原创 Servlet--Request1
RequestHttpServletRequest组成部分请求行 方法 URL 协议版本请求头 Host:虚拟主机名称/域名空行主题内容 请求参数客户端APIlocalhost虚拟主机/day09-reqres虚拟路径,也是web应用的名字/RequestDemo1资源名称import javax.servlet.ServletException;import ...
2019-09-09 23:54:13 119
原创 万维网
什么是万维网Internet互联网 与 www(world wide web)万维网,万维网就可以被看成是对互联网的应用。Internet提供的主要服务有万维网(WWW)、文件传输(FTP)、电子邮件E-mail、远程登录(Telnet)等。万维网不是计算机网络,是一个大规模的,联机式的信息储藏所。万维网是**分布式超媒体(hypermedia)**系统,是超文本系统(hype...
2019-09-09 20:32:43 2155
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人