![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
历史文章
文章平均质量分 64
存放往期文章
jing1008-wang
这个作者很懒,什么都没留下…
展开
-
线程一小结
1、什么是线程?什么是进程?以及他们之间的关系 进程:是指一段程序的运行过程,是资源分配的基本单位, 线程:是CPU独立运行和调度的基本单位,程序执行的最小单位*两者之间的联系:都是操作系统程序运行的基本单元*两者的区别:(1)地址空间:进程之间的地址空间独立,线程共享本进程的地址空间(2)资源拥有:进城之间资源独立,线程之间共享所属进程的资源,如:...原创 2018-08-24 21:18:29 · 98 阅读 · 0 评论 -
java锁小结
说起多线程,不得不提及的一个问题就是线程同步,这时就会涉及到锁的问题,接下来我们来讨论一下java中的锁首先锁可分为以下几类:1、可重入锁和不可重入锁2、公平锁和非公平锁3、独享锁和共享锁4、互斥锁和读写锁5、乐观锁和悲观锁6、偏向锁/轻量级锁/重量级锁7、分段锁8、自旋锁1、可重入锁和不可重入锁:能否实现递归调用锁,并不产生死锁(1)可重入锁:可重入锁...原创 2018-08-23 15:18:27 · 124 阅读 · 0 评论 -
JVM优化相关问题
JVM内存系统的调优主要是为了减少GC的频率和Full GC的次数,过多的GC和Full GC会占用很多的系统资源(CPU),影响系统的吞吐量。触发这些操作的原因如下:1、新生代设置过小 导致:(1)GC频繁操作,消耗系统资源;(2)会使得大对象直接进入老年代,占据老年代空间,触发Full GC2、新生代设置过大 导致:(1)老年代过小,易触发Full GC;(2)...原创 2018-08-20 11:44:57 · 143 阅读 · 0 评论 -
抽象类和接口的比较
接口和抽象类的相似性?1 、接口和抽象类都不能被实例化,它们都位于继承树的顶端,用于被其他类实现和继承。2、 接口和抽象类都可以包含抽象方法,实现接口或继承抽象类的普通子类都必须实现这些抽象方法抽象类和接口的区别?1、抽象类的关键字为abstract,接口的关键字为interface2、抽象类只能单继承(extends),接口可以多实现(implements)3、抽象类是关...原创 2018-08-20 09:19:18 · 158 阅读 · 0 评论 -
JUC二小结
二、线程池:先来张图了解一下,线程池的实现路线 线程池的大BOSS是Executor接口, ExecutorService接口实现了Executor接口,AbstractExecutorService是一个实现了ExecutorService接口的抽象类,终于到了我们的主要内容线程池ThreadPoolExecutor,它是继承了AbstractExecutorServic...原创 2018-08-27 09:06:05 · 397 阅读 · 0 评论 -
JUC一小结
JUC包中的主要内容一、并发集合类(Queue、ConcurrentMap)二、线程池(Callable、Future、Executor)三、信号量(CountDownLatch、CyclicBarrier、Semapherre)四。原子类操作(AtomInteger)五、锁操作(Lock,Condition、ReadWriteLock)一、并发集合包集合框架最...原创 2018-08-27 09:04:44 · 647 阅读 · 0 评论 -
java内存模型概述
java内存模型 为了控制线程之间的通信,(完成底层封装) 用来屏蔽掉各种硬件和操作系统之间的内存访问差异,以实现让Java程序在各平台下都能达到一致的内存访问效果。JMM目标:定义程序中各个变量的访问规则,即在虚拟机中将变量存储到内存和从内存中取出变量这样的底层细节(这里变量指代的是实例字段、静态字段和构成数组对象的元素) 学习JMM可以和内存模型(处理器、高速...原创 2018-08-25 16:52:11 · 11728 阅读 · 0 评论 -
Java集合框架概述
9月2日Collection就是对对象存储的一种方式,Collection和Map的区别:(1)Collection每个位置只能保存一个元素(对象)(2)Map保存的是“键值对”,就像一个小型的数据库CollectionCollection接口继承自Iterator接口,实现Iterator接口的对象允许使用foreach进行遍历,List下的几个常用类:linke...原创 2018-09-02 20:54:34 · 106 阅读 · 0 评论 -
手写反射方法
import java.lang.reflect.Constructor;import java.lang.reflect.Field;import java.lang.reflect.Method;import org.junit.Test;public class ReflectDemo { public static void main(String[] args) { ...原创 2018-10-02 14:41:06 · 527 阅读 · 0 评论 -
JVM学习小结
引入:类的加载过程:加载——链接(校验,准备,解析)——初始化——卸载*类加载的任务:1、是获取二进制字节流; 2、是将字节流代表的静态存储结构转化为方法区的运行时数据结构; 3、在java堆中生成class对象,作为方法区的数据访问入口。*链接:将加载完成的class合并到jvm运行时状态中 **校验:文件格式验...原创 2018-08-19 15:23:14 · 135 阅读 · 0 评论 -
关于MyBatis的逆向工程
通常我们设计好数据库之后,需要在项目中创建对应的实体类,mapper,dao,但是当我们的表数据很大的时候,工作就会变得繁琐又复杂Mybatis就为我们提供了这样一个操作,根据数据库为我们创建实体类,mapper,daoMybatis官方提供了一种名为“逆向工程”的机制,其可以针对数据库中的表单自动生成Mybatis需要的代码 包括:java实体类,Mapper映射配置,mapper代理...原创 2019-04-26 18:24:07 · 232 阅读 · 0 评论 -
Linux命令
Linux命令ls 显示文件或目录 -l 列出文件详细信息 -a 列出当前目录下所有文件及目录Mkdir 创建目录 -p 创建目录,若无父目录,则创建p(parent)Cd 切换目录Touch...原创 2018-09-24 19:49:18 · 99 阅读 · 0 评论 -
java基础
*面向过程和面向对象举实例说明?面向过程:是分析出解决问题所需要的步骤,然后用函数一步步实现,使用的时候依次调用就可以了面向对象:是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描述某个事务在整个解决问题的步骤中的行为例如:五子棋,面向过程的设计思路是:(1)、开始游戏;(2)、黑子先行;(3)、绘制画面;(4)、判断输赢;(5)、白子再行;(6)、绘制画面...原创 2018-09-04 20:23:46 · 299 阅读 · 0 评论 -
java小点
一、abstract的方法是否可同时是static,是否同时是native,是否可同时是synchronized?*abstract:用来声明抽象方法,抽象方法没有方法体,不能被直接调用,必须在子类overriding后才能使用*static:用来声明静态方法,静态方法可以被类及其对象调用*native:用来声明本地方法,该方法的实现由非java语言实现,比如C。一般用于jav...原创 2018-08-21 15:48:44 · 135 阅读 · 0 评论 -
2021-03-17
>>> 2021-03-17 感觉生活过得越来越迷茫了,身边的大家还都在为生活做努力和改变,好像毕业后变得安逸,不在上进,想为自己的生活做出一些改变~,那就看我们能够坚持几天吧 最近想自己搭建一个spring项目,好像还没手操过,然后就用IDEA创建了一个轻量级的spring项目,配置maven的时候我选择了自己的但是maven仓库还是之前的,然后创建完自己的项目打包的时候总还是打包失败,找不到问题,最后在同事的帮助下找到是因为maven下面我加了两个set...原创 2021-03-17 20:55:05 · 131 阅读 · 0 评论 -
数据库存储引擎
今天学习了下数据库的核心,存储引擎(四种):myisam,memory,innodb,archive不同的存储引擎,有着不同的性能,如下InnoDB:提供提交,回滚,奔溃恢复能力的事务安全(ACID)能力,并要求实现并发控制,支持行锁和外键,mysql默认的Mysql引擎,InnoDB存储引擎为在主内存中缓存数据和索引而维持它自己的缓冲池,InnoDB将他的表和索引在一个逻辑表空间中,...原创 2018-10-05 16:33:29 · 132 阅读 · 0 评论 -
关于in和exists
mysql中in语句是把外表和内表做hash连接,而exists语句是对外表做loop循环,每次循环再对内表进行查询,可能我们会觉得exists比in语句的效率要高,这种说法其实是不准确的,也是要分环境讨论的如果查询的两个表大小相当,那么用in和exists差别不大。 如果两个表中一个较小,一个是大表,则子查询表大的用exists,子查询表小的用in。 not in 和not exists...原创 2018-10-05 19:19:33 · 109 阅读 · 0 评论 -
B-Tree,B+Tree以及mysql索引的实现
通过这篇博客来学习的:https://blog.csdn.net/alex_xfboy/article/details/82818753一、B-TreeB-Tree结构的1数据可以让系统高效的找到数据所在的磁盘块为了描述B-Tree,我们先定义一条数据记录为一个二元组[key,data],key为记录的键值,对于不同数据记录,key是互不相同的,data为key对应的值,m阶的B-Tr...原创 2018-10-05 20:35:47 · 3608 阅读 · 0 评论 -
线程状态转化
一直对线程的状态以及转化流程不太清楚,今天来总结一下借用网上的一张流程图,大概的转化流程如下,接下来我们来具体说明一下(1)初始状态:我们创建线程的方法有继承Thread和实现Runnable,Callable接口这三种方法,当创建完成这时的状态就是初始状态(2)可运行状态:当我们调用线程的start方法,就会从初始态转化为可运行状态(就绪状态)(3)运行状态:可运行态的线程...原创 2018-10-06 15:56:40 · 197 阅读 · 0 评论 -
面试常见问题
一、创建一个不可变类(即final类)需要满足哪些条件?1、将类声明为final,所以它不能被继承;2、将所有的成员声明为私有的,这样就不允许直接访问这些成员;3、对变量不要提供setter方法;4、将所有可变的成员声明为final,这样只能对它们赋值一次;5、通过构造器初始化所有成员,进行深拷贝(deep copy);6、在getter方法中,不要直接返回对象本身,而是克...原创 2018-10-06 19:26:26 · 161 阅读 · 0 评论 -
同步队列(阻塞队列和非阻塞队列)
在并发编程中,很多情况下需要使用线程安全的队列。而实现线程安全的队列有两种实现方式1、使用阻塞算法:使用阻塞算法的队列可以用一个锁(入队和出队使用同一把锁)或两个锁(入队和出队用不同的锁)等方式来实现(基于锁的算法会带来一些活跃度失败的风险。如果线程在持有锁的时候因为阻塞I/O,页面错误,或其他原因发生延迟,很可能所有的线程都不能前进了)2、使用非阻塞算法:使用循环CAS的方式来实现(一个...原创 2018-10-07 12:39:10 · 2771 阅读 · 0 评论 -
Spring初步学习——Spring IOC/DI
秋招10月底结束后,自己就又恢复之前的堕落了,没有了秋招的那股劲和上进心,最近也开始要毕设了,自己还是一样的渣,决定站起来,马上都快就业的人什么都不会有点说不过去了!站起来,我还能学!于是乎为毕设做点准备,开始着手学习框架,首先让我们从万能的spring开始着手学起。——>spring设计的领域有: 移动开发、社交API集成、NoSQL数据库、云计...原创 2018-11-18 23:16:29 · 165 阅读 · 0 评论 -
Spring初步学习——Spring AOP
Spring AOP简介 AOP,Aspect Oriented Program,面向切面编程,也是Spring最为重要的功能之一,在数据库事务中切面编程被广泛使用一、什么是AOP?在面向切面编程中,把功能分为核心业务功能和周边功能:*核心业务:比如登陆,增加数据,删除数据*周边功能:比如性能统计,日志,事务管理等等周边功能在Spring的面向切面编程AO...原创 2018-11-20 11:47:21 · 161 阅读 · 0 评论 -
Spring初步学习——数据库编程
传统JDBC回顾首先我们来回顾一下传统的JDBC,怎么连接数据库的,往往我们要写很多的重复模板代码:public Student getOne(int id) { String sql = "SELECT id,name FROM student WHERE id = ?"; Student student = null; // 声明 JDBC 变量 C...原创 2018-11-20 12:15:00 · 191 阅读 · 0 评论 -
Spring初步学习——Spring MVC
MVC 设计概述在早期Java Web的开发中,统一把显示层,控制层,数据层全部交给JSP或者JavaBean来进行处理,就像下图所示:【弊端】:JSP和Java Bean之间严重耦合,java代码和HTML代码也耦合在了一起 要求开发者不仅要掌握java,还要有高水平的前端技术 前段和后端相互依赖,前段需要等待后端完成,后端也要依赖前端完成,才能进行有效的测试 代码难以...原创 2021-07-09 17:28:55 · 119 阅读 · 0 评论 -
Spring初步学习——Spring MVC
MVC 设计概述在早期Java Web的开发中,统一把显示层,控制层,数据层全部交给JSP或者JavaBean来进行处理,就像下图所示:【弊端】:JSP和Java Bean之间严重耦合,java代码和HTML代码也耦合在了一起 要求开发者不仅要掌握java,还要有高水平的前端技术 前段和后端相互依赖,前段需要等待后端完成,后端也要依赖前端完成,才能进行有效的测试 代码难以复...原创 2018-11-20 17:38:26 · 238 阅读 · 0 评论 -
Mybatis初步学习
Mybatis简介mybatis是一个基于java的持久层框架,特点就是以SQL语句为核心的不完全的ORM(关系型映射)框架持久层:可以将业务数据存储到磁盘,具备长期存储能力,只要磁盘不损坏,在断电或者其他情况下,重新开启系统仍然可以读取到这些数据 优点:可以使用巨大的磁盘空间存储相当大的数据,并且很廉价 缺点:慢,相对于内存而言使用mybatis的好处:可以简化传统的J...原创 2018-11-20 19:44:07 · 318 阅读 · 0 评论 -
Servlet相关要点
Servlet(server与applet的缩写)1、什么是Servlet?servlet与普通的java程序不同,他是运行在web应用服务器上的Java程序,可以对web浏览器或其他Http客户端程序发送的请求进行处理 ~servlet容器(WEB容器,例如tomcat)是web服务器或者应用程序服务器的一部分,用于在发送请求和响应上提供网络服务。 ~servlet是基于...原创 2019-04-26 10:51:26 · 168 阅读 · 0 评论 -
Web组件之间的跳转
一、请求转发(forward)也叫作直接转发方式,客户端和浏览器只能发出一次请求,Servlet、HTML、JSP或者其他资源,由第二个信息资源响应该请求,在请求对象request中,保存的对象对于每个信息资源是共享的语法:request.getRequestDispatcher(path).forward(request,response);特点:(1)地址栏中的地址不会改变 ...原创 2019-04-26 11:27:42 · 349 阅读 · 0 评论 -
Cookie与Session
众所周知,我们浏览器与服务器之间的交流是通过Http(TCP/IP的应用层协议,超文本传输协议)协议约定的,一次请求对应一次响应Http协议是一个无状态协议,意味着每一次的请求都是独立的,后续处理无法获取之前的数据,无法实现数据之间的共享,所以需要时就只能通过重传,但是这样会导致每次连接传送的数据量增大现在我们来说一说解决方案:1、使用参数传递机制,使用get传递,可以将参数拼接在UR...原创 2019-04-26 16:19:09 · 103 阅读 · 0 评论 -
JSON那点事?
一、什么是JSON?1、JSON指的是JavaScript对象表示法(JavaScript Object Notation)2、JSON是轻量级的文本数据交换格式3、JSON独立于语言4、JSON具有自我描述性,更易理解总结为一句话就是:JSON使用JavaScript语法来描述数据对象,但是JSON依然独立于语言和平台,JSON解析器和JSON库支持许多不同的编程语言J...原创 2021-07-09 17:25:32 · 102 阅读 · 0 评论 -
文件打包上传服务器操作
今天,要向服务器上传项目,结果一点点操作都不会简直自己要被自己蠢哭的在同事的指导下,一步步操作,才熟悉了这个流程首先我们需要将自己本地的项目打包,进入到需要打包的项目路径下,然后在该路径下打开cmd使用maven clean install可以看得到打包的进度正常的打包顺序:web-api-service、web-service-common、web-service、web...原创 2019-07-14 01:10:42 · 740 阅读 · 0 评论 -
服务器安装mysql教程
https://www.cnblogs.com/simple1025/p/11133538.htmlhttps://www.cnblogs.com/ljysy/p/10324854.htmlhttps://blog.csdn.net/qq_40241957/article/details/90343651原创 2020-01-15 14:10:08 · 147 阅读 · 0 评论 -
Java中的BeanUtils是什么?
BeanUtils提供对Java反射和自省API的包装。其主要目的是利用反射机制对JavaBean的属性进行处理。Beanutils.copyProperties( obj1,obj2),but 因为obj1中属性名称id,obj2中属性名称afterId,因为Beanutils.copyProperties( )要求处理的两个对象的属性名称相同时才可以正常赋值...原创 2020-02-16 20:56:28 · 966 阅读 · 0 评论 -
关于windows下使用命令行杀死占用某端口号的进程
netstat -ano |findstr 8443:查看占用8443端口的进程idtasklist |findstr 16436:查看该进程的信息taskkill -PID 16436 -F:杀死当前进程原创 2019-01-18 15:54:16 · 298 阅读 · 0 评论 -
关于VScode,每次启动,端口号都会发生变化的解决方案
我之前只因为cnpm install,将版本升的过高,然后出现问题执行这条语句就好,降一下版本:npm install portfinder@1.0.21原创 2019-09-16 16:46:16 · 5074 阅读 · 0 评论 -
读取项目下的所有mappe.xml文件并将其中的sql语句全部导出到excel表格中
在实际应用的过程中总会遇到需要将某文件夹下的特点文件中的特定内容输出,现在我们来编写一个工具类来解决这个操作关于这个操作,主要涉及到三个点:(1)能够从文件工程下,识别文件中的mapper.xml文件(2)能够读取mapper文件中指定节点内的sql语句(3)将识别的sql语句输出到excel表格中操作(1)详解:输入文件路径后:file.isDirectory()来判...原创 2019-01-17 09:59:37 · 460 阅读 · 0 评论 -
Servlet和filter的区别
在学习java EE的过程中,我们一定会接触这两个小家伙,而且面试过程中也是常见考题,那么他们究竟是什么Servlet:是一种运行在服务器端的1java应用程序,具有平台独立性和协议的特性,可以动态的生成web页面,位于客户端请求和服务器响应的中间层。servlet的主要功能有: (1) 创建并返回一个包含基于客户请求性质的动态内容的完整的 HTML页面。 (2) 创建可嵌...原创 2019-04-27 19:34:06 · 112 阅读 · 0 评论 -
解决电脑图标变为白色dewe
按键 “WIN+R” 输入即可cmd然后输入分别输入 : taskkill /im explorer.exe /f cd /d %userprofile%\appdata\local del iconcache.db /a start explorer.exe exit执行这些命令,清除缓存,图标就会重新出现...原创 2019-12-19 10:37:24 · 183 阅读 · 0 评论 -
回顾web
今天我们整体的回顾一下web相关知识一、web应用程序大体可以分为静态网站和动态网站1、静态网页大部分是用HTML编写的,这些代码都很是写死的,只有代码发生变化时页面才会发生变动。这些代码放在web服务器上,用户使用浏览器通过HTTP协议请求服务器上的web页面,服务器上的web服务器接收到用户的请求处理后,再发送给客户端浏览器,显示给用户,静态web无法连接数据库,界面可以使用js,aj...原创 2018-12-19 20:29:46 · 207 阅读 · 2 评论