自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 资源 (2)
  • 收藏
  • 关注

原创 ceshi

111111

2023-04-27 23:34:59 85

原创 BIO、NIO与AIO

BIO是同步阻塞I/O模型,服务器实现模式为一个连接一个线程,即客户端有连接请求服务端时服务器就需要启用一个新的线程进行处理,如果这个连接不做任何事情,那就会造成不必要的线程开销。当有多个客户端进行连接时,可以使用线程池改善这种机制。NIO是同步非阻塞I/O模型,支持面向缓冲区的,基于通道的I/O操作。与BIO相比,NIO可以将Socket设置成非阻塞模式。NIO服务器实现模式使一个线程从通道中发送或接收数据,如果通道中没有可用数据时,线程就不会去获取,线程可以去处理其他事情,从而达到非阻塞。

2023-04-25 23:08:55 179

原创 nacos客户端注册失败问题

nacos2.*版本部署问题

2023-02-26 17:47:36 4915

转载 happens-before规则

happens-before规则文章目录happens-before规则一、什么是happens-before二、为什么需要happens-before三、有哪些happens-before规则一、什么是happens-beforeA happens-before B就是A先行发生于B(这种说法不是很准确),定义为hb(A, B)。在Java内存模型中,happens-before的意思是前一个操作的结果可以被后续操作获取。二、为什么需要happens-beforeJVM会对代码进行编译优

2021-07-07 22:51:12 134

原创 Cookie与Session的区别

Cookie与Session的区别存放位置安全性存储数据类型大小限制Cookie客户端(浏览器)不安全字符串有大小限制Session服务端安全对象无大小限制Cookie和Session都是用来跟踪浏览器用户身份的会话方式。Cookie 是一种发送到客户浏览器的文本串句柄,并保存在客户机硬盘上,可以用来在某个WEB站点会话间持久的保持数据。Session其实指的就是访问者从到达某个特定主页到离开为止的那段时间。 Session其实是利用Cookie

2021-05-30 10:37:04 57

原创 String,StringBuffer,StringBuilder的区别

String,StringBuffer,StringBuilder的区别被继承可变线程安全运行速度使用场景String不能不可变不安全慢适用于少量的字符串操作的情况StringBuffer不能可变安全中适用于单线程下在字符缓冲区进行大量操作的情况StringBuilder不能可变不安全快适用多线程下在字符缓冲区进行大量操作的情况继承:三个类都用final修饰,则都不能被继承可变:String中用于存储数据的char数组

2021-05-30 10:14:14 51

原创 maven打包出错

Failed to execute goal on project common: Could not resolve dependencies[ERROR] Failed to execute goal on project common: Could not resolve dependencies for project com:common:jar:1.0.0: Failed to collect dependencies at com.ztb:ztb-xdocreport:jar:1.0: Fa

2021-05-26 03:06:05 490

原创 Bootstrap Table导出

tableExport.jquery.pluginbootstrap table 导出插件及相关参数设置参考地址:https://github.com/hhurz/tableExport.jquery.plugin#options支持导出:CSVDOCJSONPDFPNGSQLTSVTXTXLS (Excel 2000 HTML format)XLSX (Excel 2007 Office Open XML format)XML (Excel 2003 XML Spreadsh

2021-05-23 17:03:57 868

原创 深入理解java虚拟机学习笔记(7)——经典垃圾收集器

经典垃圾收集器目录经典垃圾收集器一、Serial收集器二、ParNew收集器三、Parallel Scavenge收集器四、Serial Old收集器五、Parallel Old收集器六、CMS收集器七、Garbage First收集器一、Serial收集器二、ParNew收集器三、Parallel Scavenge收集器四、Serial Old收集器五、Parallel Old收集器六、CMS收集器七、Garbage First收集器...

2021-05-21 00:24:09 79

原创 深入理解java虚拟机学习笔记(5)——垃圾收集算法

系列文章目录提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加例如:第一章 Python 机器学习入门之pandas的使用提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录系列文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例

2021-05-20 00:09:47 85

原创 深入理解java虚拟机学习笔记(4)——判断对象是否存活

判断对象是否存活程序计数器,虚拟机栈,本地方方法栈这几个区域的内存分配和回收都具备确定性,当线程结束时,内存自然就跟着回收了。Java堆和方法区这两个区域只有处于运行期,才能知道程序会创建哪些对象,创建多少对象,这部分内存的分配和回收是动态的。目录判断对象是否存活一、引用计数算法二、可达性分析算法二、一、引用计数算法示例:111二、可达性分析算法二、...

2021-05-19 00:11:11 102

原创 深入理解java虚拟机学习笔记(3)——OOM异常

OutOfMemoryError异常目录OutOfMemoryError异常一、Java堆溢出二、虚拟机栈和本地方法栈溢出三、方法区和运行时常量池溢出四、直接内存溢出一、Java堆溢出Java堆用于存储对象实例,只要不断创建对象,并且保证GC Roots到对象之间有可达的路径来避免垃圾回收机制清除这些对象,随着对象的增加,总容量触及最大堆容量限制后就会产生内存溢出异常。/** * VM Args:-Xms20m -Xmx20m -XX:+HeapDumpOnOutOfMemoryError */

2021-05-17 23:26:37 163

原创 深入理解java虚拟机学习笔记(2)——HotSpot虚拟机对象探秘

HotSpot虚拟机对象探秘目录HotSpot虚拟机对象探秘一、对象的创建二、对象的内存布局三、对象的访问定位1.句柄访问2.直接指针访问一、对象的创建在语言层面上,创建对象通常仅仅是一个new关键字而已,在虚拟机中,对象(限于普通Java对象,不包括数据和Class对象)如何创建呢?检查这个指令的参数是否能在常量池中定位到一个类的符号引用,并且检查这个符号引用代表的类是否已经被加载,解析和初始化过。如果没有,则先执行相应的类加载过程。类加载检查通过后,虚拟机将为新生对象分配内存。内存分配完成

2021-05-16 13:44:53 149

原创 深入理解java虚拟机学习笔记(1)——Java内存区域

Java运行时数据区域目录Java运行时数据区域一、程序计数器二、Java虚拟机栈三、本地方法栈四、Java堆五、方法区六、运行时常量池七、直接内存Java虚拟机在执行程序过程中会把它所管理的内存划分为若干个不同的数据区域。这些区域有各自的用途,以及创建和销毁时间,有的区域随着虚拟机进程的启动一直存在,有些区域则是依赖用户线程的启动和结束而建立和销毁。Java虚拟机所管理的内存包括以下几个运行时数据区域。一、程序计数器程序计数器(Program Counter Register)是一块较小的内存

2021-05-15 16:18:19 85

原创 四种常用线程池

四种常用线程池目录四种常用线程池一、newFixedThreadPool二、newCacheThreadPool三、newSingleThreadExecutor四、newScheduledThreadPool一、newFixedThreadPool创建一个固定长度的线程池,每当提交一个任务就创建一个线程,直到达到线程池的最大数量,这是线程池规模将不再变化,当线程发生未预期的错误而结束时,线程池会补充一个新的线程使用于为了满足资源管理需求而需要限制当前线程数量的场合使用于负载比较重的服务器

2021-05-15 00:25:53 162

原创 创建线程的几种方式

创建线程的几种方式目录创建线程的几种方式一、继承Thread类创建线程类二、使用步骤1.引入库2.读入数据总结一、继承Thread类创建线程类定义Thread类的子类,并重写该类的run方法,该run方法的方法体就发表了线程要完成的任务。因此把run()方法称为执行体。示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码如下(示例):import numpy as npimport pandas as pdimpor

2021-05-14 23:07:58 92

原创 静态工厂方法与构造器

静态工厂方法与构造器对比的优缺点1.静态工厂方法的优势,他们有方法名2.静态工厂方法的优势,不必在每次调用它们的时候都创建一个新对象3.静态工厂方法的优势,它们可以返回原返回类型的任何子类型4.静态工厂方法的优势,所返回的对象的类可以随着每次调用而发生变化,这取决于静态工厂方法的参数值5.静态工厂方法的优势,方法返回的对象所属的类,在编写包含该静态工厂方法的类时可以不存在6.静态工厂方法的主要缺点,类如果不含共有的或者受保护的构造器,就不能被子类化6.静态工厂方法的主要缺点,程序员很难发现它们

2021-04-30 00:36:31 107

原创 SpringMVC接收Ajax请求几种常用方式

SpringMVC接收Ajax请求几种常用方式几种常用的SpringMVC接收Ajax请求方式,参数类型以及contentType类型的区分1.@RequestParam2.@RequestBody3.参数与前端请求匹配4.对象接收1.Get请求前端请求get请求都可以使用以下两种方式进行请求:$.ajax({ type:"get", data:{"userId":"123"}, url:'/Test/testRequestParamGet', dataType: 'json'

2020-07-07 20:57:55 2047 2

原创 JAVA虚拟机学习(一):win10编译openjdk8

win10下编译openjdk81.编译环境openjdk8下载下载地址:https://download.java.net/openjdk/jdk8u40/ri/openjdk-8u40-src-b25-10_feb_2015.zip下载解压完成后在openjdk根目录下有编译手册README-builds.html,其中有说明Windows下如何编译。安装Cygwin2.1.下载Cygwin直接去Cygwin官网下载:www.cygwin.com低版本可能会有问题,我直接下载的是

2020-07-04 15:45:34 924

tableExportDemo.zip

tableExportDemo.zip

2021-05-23

word转pdf

word转pdf

2021-02-25

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除