关注「Java视界」公众号,获取更多技术干货

06 2022 档案

摘要:我们经常会遇到排序的需求,String类型和Integer类型JDK提供了排序方法: public class Comparable... 阅读全文
posted @ 2022-06-25 14:03 沙滩de流沙 阅读(41) 评论(0) 推荐(0) 编辑
摘要:一、常见匹配规则: (匹配单个) \\:匹配“\”\n:匹配换行\t:匹配制表符[abc]:表示可能是a、b、c中的任意一个[^abc]:表示不是a、b、c中的任意一个[a-zA-Z]:表示任一字母,不区分大小写[0-9]:表示任一数字(简化匹配) .... 阅读全文
posted @ 2022-06-25 14:03 沙滩de流沙 阅读(47) 评论(0) 推荐(0) 编辑
摘要:一、StringBuffer类 String类很强大,但是其内容不允许修改,而StringBuffer类的出现可以实现字符串内容的修... 阅读全文
posted @ 2022-06-25 14:03 沙滩de流沙 阅读(66) 评论(0) 推荐(0) 编辑
摘要:目录 一、进程与线程 二、线程运行状态 三、多线程的代码实现 (1)方式一:继承Thread类 (2)方式二:实现Runnable接口 (3)Callable实现多线程 四、Thread、Runnable、Callable区别与联系 五、多线程常见方法 (1)... 阅读全文
posted @ 2022-06-25 14:03 沙滩de流沙 阅读(91) 评论(0) 推荐(0) 编辑
摘要:一、Lambda表达式基本语法 (parameters) -> expression 或(parameters) ->{ statements; } // 不需要参数,返回值为6() -> 6// 参数x,返回值为6*x(x) -> 6*x// 参数x和y,返... 阅读全文
posted @ 2022-06-25 14:03 沙滩de流沙 阅读(254) 评论(0) 推荐(0) 编辑
摘要:需要在application.yml配置文件中,spring下增加如下配置: main: allow-bean-definition-overriding: true 阅读全文
posted @ 2022-06-25 14:03 沙滩de流沙 阅读(0) 评论(0) 推荐(0) 编辑
摘要:一、问题 vue前端访问后台时报The ‘Access-Control-Allow-Origin’ header contains ... 阅读全文
posted @ 2022-06-25 14:03 沙滩de流沙 阅读(0) 评论(0) 推荐(0) 编辑
摘要:一、传递@RequestBody注解的传参 如下: 二、Get请求如何传递List类型参数 阅读全文
posted @ 2022-06-25 14:03 沙滩de流沙 阅读(263) 评论(0) 推荐(0) 编辑
摘要:text字段,要用!=''来判断非空,不能用 IS NOT NULL判断非空其他字段用 IS NOT NULL,和IS NULL判断为空(非空)NULL 是什么意思 NULL 这个值表示 UNKNOWN(未知):它不表示“”(空字符串)。对 NULL 这个值... 阅读全文
posted @ 2022-06-25 14:03 沙滩de流沙 阅读(21) 评论(0) 推荐(0) 编辑
摘要:通过Xshell登录服务器后要修改登录密码,实际上很简单,需要两个命令: 首先保证你已经用原密码登录成功,与服务器建立了连接。 1、然后通过id指令查询当前登录信息,检查是否是要修改的账户: 2、passwd指令启动密码修改(注意是passwd,不是pass... 阅读全文
posted @ 2022-06-25 14:03 沙滩de流沙 阅读(488) 评论(0) 推荐(0) 编辑
摘要:A D C C A C A D C C A B A A C因为类定义成protected就只有自己和自己的子类可以访问,这违背了非内部类的原则,使得类无法被外部调用失去意义 C A C C A C C D ... 阅读全文
posted @ 2022-06-25 14:03 沙滩de流沙 阅读(13) 评论(0) 推荐(0) 编辑
摘要:一、内部类定义 一个类可以包含属性、方法,实际上java的类也允许类嵌套,即类中也可以包含类,被包含的类就叫内部类。代码形式如下: class Outer{ private String name = "我是私有属性"; public void i... 阅读全文
posted @ 2022-06-25 14:03 沙滩de流沙 阅读(73) 评论(0) 推荐(0) 编辑
摘要:一、什么是异常 异常指的是导致程序中断执行的一种指令流。 如果不对运行时异常进行处理,那么出现运行时异常之后,要么是线程中止,要么是主程序终止。 如果不想终止,则必须捕获所有的运行时异常,决不让这个处理线程退出。队列里面出现异常数据了,正常的处理应该是把... 阅读全文
posted @ 2022-06-25 14:03 沙滩de流沙 阅读(161) 评论(0) 推荐(0) 编辑
摘要:一、什么是模板 既然是模板设计思维,那首先要探索一下到底何为模板,搞清楚现实中模板是啥样的,才能进一步把模板抽象化。 一提到模板,我最先想到的是PowerPoint,没错,就是让人头疼的PPT,马上要述职汇报了,PPT确实让人... 阅读全文
posted @ 2022-06-25 14:03 沙滩de流沙 阅读(115) 评论(0) 推荐(0) 编辑
摘要:这是IDEA自身的检测机制,不是代码bug,不会影响项目正常运行,改变检测的级别即可消除,按照下图配置即可: 新版的IDEA没有了Autowiring for bean class,比如IDEA 2021.2.3 ,勾选下面的选项即可。 ... 阅读全文
posted @ 2022-06-25 14:03 沙滩de流沙 阅读(317) 评论(0) 推荐(0) 编辑
摘要:抓住几个重点: (1)switch语句又叫开关语句,具有开关控制的效果; (2)switch(XXX)这个XXX只能是int、char、枚举和String(jdk1.7后增加的); (3)每个case语句后要加break;,不然会从匹配的case处开始继续执行... 阅读全文
posted @ 2022-06-25 14:03 沙滩de流沙 阅读(159) 评论(0) 推荐(0) 编辑
摘要:一句话: x++先动作再加1,++x先加1再动作。一下代码便于理解: int x = 10;int y = 20;++ x;int z = x - y;y --;System.out.println("x = " + x);System.out.printl... 阅读全文
posted @ 2022-06-25 14:03 沙滩de流沙 阅读(192) 评论(0) 推荐(0) 编辑
摘要:1、运算优先级 单目运算符优先级较高,赋值运算符优先级较低。 算术运算符优先级较高,关系和逻辑运算符优先级较低。 多数运算符具有左结合性,单目运算符、三目运算符、赋值运算符具有右结合性。 (其中 1 级最高,14 级最低) 使用优先级为 1 的小括号可以改变... 阅读全文
posted @ 2022-06-25 14:03 沙滩de流沙 阅读(216) 评论(0) 推荐(0) 编辑
摘要:1、Java数据分类 总的来讲,java这个语言里只有两种数据类型:基本数据类型、引用数据类型。 具体的用图表达会更清晰: 注意一点,只有引用数据类型才会有NPE问题。 2、数据范围 int和byte需要记住,其余可以不用记(有人说都该记下来,这个不抬杠... 阅读全文
posted @ 2022-06-25 14:03 沙滩de流沙 阅读(68) 评论(0) 推荐(0) 编辑
摘要:1、标识符 作用:给方法、属性、类命名 在实际的开发中,标识符的命名有个推荐的总的原则: 字母开头,下划线和数字为辅,$可以使用但不建议命名时有这个$符号,不能使用关键字;不与关键字重复 大小写敏感,长度无限制; (若按照很多教材里的要求,只要不以数字开头,以... 阅读全文
posted @ 2022-06-25 14:03 沙滩de流沙 阅读(20) 评论(0) 推荐(0) 编辑
摘要:Java的注释共有3种,按需选择即可: 单行注释: // xxx多行注释: /* ...*/文档注释: /** ....*/有个需要注意的地方,书写格式方面,推荐单行注释的时候“//”与后面的注释内容之间,有且只有一个空格。 ... 阅读全文
posted @ 2022-06-25 14:03 沙滩de流沙 阅读(11) 评论(0) 推荐(0) 编辑
摘要:要说java相关的背景,那有一大堆,哪个公司开发的、什么时候开发的、谁开发的、为什么叫java,jdk1.0啥时候发布的.......... 说起这些背景知识,知道当然好,没事和圈子里的朋友哈哈牛皮挺不错的,这个专栏就不介绍了,咱捞干的来整理,嘿嘿! 1... 阅读全文
posted @ 2022-06-25 14:03 沙滩de流沙 阅读(42) 评论(0) 推荐(0) 编辑
摘要:本文结构 1、明明已经部署成功了,但输入url就是访问不到2、可能是防火墙的锅3、防火墙开放对应端口 1、明明已经部署成功了,但输... 阅读全文
posted @ 2022-06-25 14:03 沙滩de流沙 阅读(2662) 评论(0) 推荐(0) 编辑
摘要:count 是一个聚合函数,对于返回的结果集,一行行地判断,如果 count 函数的参数不是 NULL,累计值就加 1,否则不加。最后返回累计值。 count(*)是SQL92定义的标准统计行数的语法,跟数据库无关,跟NULL和非NULL无关。 count(*... 阅读全文
posted @ 2022-06-25 14:03 沙滩de流沙 阅读(1624) 评论(0) 推荐(0) 编辑
摘要:在数据库设计中,为了更好地实现数据库操作的高效性和便捷性,有三个范式的规则可以遵循,三个范式分别是: 第一范式:1NF是对属性的原子性约束,要求属性具有原子性,不可再分解; 第二范式:2NF是对记录的惟一性约束,... 阅读全文
posted @ 2022-06-25 14:03 沙滩de流沙 阅读(90) 评论(0) 推荐(0) 编辑
摘要:springboot项目启动时具体报错内容如下: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'ac... 阅读全文
posted @ 2022-06-25 14:03 沙滩de流沙 阅读(0) 评论(0) 推荐(0) 编辑
摘要:最近做了个政府的政务类项目,基于springboot采用微服务思想,项目作为一个独立的服务供其他平台调用,独立开发独立部署。项目目录结构如下: 项目分为4层:注册中心服务、网关服务、server服务(server、client)、facade... 阅读全文
posted @ 2022-06-25 14:03 沙滩de流沙 阅读(145) 评论(0) 推荐(0) 编辑
摘要:最近发现项目的后台有报NumberFormatException异常错误,如下: 后来找到对应位置看了一下,发现是String字符串转BigDecimal时报了错,于是写了个demo验证一下: 传入字符串为null时就会报错,所以这里要对传入的字符串进行判... 阅读全文
posted @ 2022-06-25 14:03 沙滩de流沙 阅读(117) 评论(0) 推荐(0) 编辑
摘要:最近使用idea遇到一个小问题,原来的try catch的快捷键失效了,再按ctrl+shift+T也无反应,于是找到相关设置项重置了一下就解决了。具体如下: IDEA中找到surround with对应的设置位置: 双击surround with,弹出一下... 阅读全文
posted @ 2022-06-25 14:03 沙滩de流沙 阅读(1023) 评论(0) 推荐(0) 编辑
摘要:现在的部署当然都是写好自动化脚本在Linux下一跑就完事了,但是一方面每个项目的部署环境不一样,即使部署在同一个服务器上tomcat也不一样,所以自动化脚本也是千变万化;另一方面再牛逼的自动化脚本也是在基本的流程基础上编写的,所以这里不讨论自动... 阅读全文
posted @ 2022-06-25 14:03 沙滩de流沙 阅读(3025) 评论(0) 推荐(1) 编辑
摘要:目的很明确了, 整理学习这个就是为了掌握一些ipconfig的相关知识,后面出现常见网络故障的时候自己就能搞定,不用每次都去麻烦网络管理员小哥哥。 首先我们故意输错一个命令ipconfig all或者ipconfig /?,这样... 阅读全文
posted @ 2022-06-25 14:03 沙滩de流沙 阅读(1060) 评论(0) 推荐(0) 编辑
摘要:最近导入了一个依赖,pom文件写好坐标后,依赖出现在Maven project中,但是项目的External Libraries没有出现,一直以为依赖没添加成功,试了很多方法External Libraries依然没有这个依赖,后来发现只要关闭... 阅读全文
posted @ 2022-06-25 14:03 沙滩de流沙 阅读(848) 评论(0) 推荐(0) 编辑
摘要:我们经常会遇到ip地址等改变后,在Eureka服务中心重复注册服务;或者之前已经死掉的服务还存在于Eureka服务中心,这时我们需要将该服务从Eureka服务中心删除,最近因为搬到新的工位ip发生了改变,导致在Eureka服务中心重复注册了同名... 阅读全文
posted @ 2022-06-25 14:03 沙滩de流沙 阅读(246) 评论(0) 推荐(0) 编辑
摘要:最近在做会议室管理平台,在申请会议室的时候,要求今天以前的日期无法申请,就需要比较当前日期与选择日期的大小,要比较大小就得先获取系统当前日期、格式化等。 (1)时间获取 平台基于grails,前端就是.gsp的页面,和jsp稍有... 阅读全文
posted @ 2022-06-25 14:03 沙滩de流沙 阅读(191) 评论(0) 推荐(0) 编辑
摘要:jQuery选择器的写法和CSS选择器的写法类似,我觉得不同的就是CSS是在选择到元素以后为其添加样式, jQuery选择器是在找到元素以后为其添加行为。主要包含以下几种: (1)基本选择器 选择器描述返回示例#id根据给定的id匹配一个元素单个元素$("#... 阅读全文
posted @ 2022-06-25 14:03 沙滩de流沙 阅读(36) 评论(0) 推荐(0) 编辑
摘要:最近项目组让整理一个我们项目的表结构设计说明书,就是梳理每张表的字段、描述、是否为空、字段类型等,理论上完成上面的就可以交差了,但我觉得要是能将所有的表之间的关联关系图(EER)画出来就更好了,逼格一下就上去了。画EER当然有各种工具,最不济实在闲得慌手动画也... 阅读全文
posted @ 2022-06-25 14:03 沙滩de流沙 阅读(1245) 评论(0) 推荐(0) 编辑
摘要:(1)内容选择器: :has(selector)//选中包含指定子元素的元素 :contains()//选中包含指定文本内容的指定元素 :empty()//选中既没有内容也没有子元素的元素 :parent()//找到有文本内容或有子元素的指定元素 var $d... 阅读全文
posted @ 2022-06-25 14:03 沙滩de流沙 阅读(15) 评论(0) 推荐(0) 编辑
摘要:jQuery中的方法和java类似,也分为静态方法和非静态方法;静态方法类名直接调用,非静态方法对象调用。 jQuery对象类似数组( 有length属性,有0到length-1个元素,例如:var ss ={0:1,1:6,2:5,3:9,length:4... 阅读全文
posted @ 2022-06-25 14:03 沙滩de流沙 阅读(35) 评论(0) 推荐(0) 编辑
摘要:项目中,jQuery冲突很常见,又容易带来各种奇葩的问题,单独整理。 冲突就是指一个项目中可能会使用多个框架,不同的框架又使用相同的符号、方法等,就会造成冲突。比如jQuery用$来代替,另一个框架可能也用$来代替,jQuery中有A方法,另一个框架也有A方法... 阅读全文
posted @ 2022-06-25 14:03 沙滩de流沙 阅读(91) 评论(0) 推荐(0) 编辑
摘要:jQuery是js+query的缩写,可以理解成是在原生js的基础上封装了很多方法,行成了一个js的库。 要说清楚jQuery和原生js的区别或者jQuery能给我们带来哪些好处,我觉得得先做个比较: (1)选中DOM对象 原生js: document.get... 阅读全文
posted @ 2022-06-25 14:03 沙滩de流沙 阅读(162) 评论(0) 推荐(0) 编辑
摘要:先说问题: 之前发现菜单栏的字体不统一,于是修改default.css里的样式,在.met-nav li .add{}中添加front-size:16px 修改后到页面查看确没有效果。 解决办法: 1、查看引用路径是否正确 2、若路径正确,可能是浏... 阅读全文
posted @ 2022-06-25 14:03 沙滩de流沙 阅读(29) 评论(0) 推荐(0) 编辑
摘要:有时候我们会遇到这样的需求:A页面和B页面都能跳转到C页面,C页面有一个返回按钮,要根据是A页面跳转过来的还是B页面跳转过来的进行返回,要是A页面跳转过来的就返回A页面,同理返回B页面。 总体思路:在A和B页面的跳转地址各增加一个参数,在C页面获取该参数,验证... 阅读全文
posted @ 2022-06-25 14:03 沙滩de流沙 阅读(50) 评论(0) 推荐(0) 编辑
摘要:一、表象 说到GET和POST请求的区别,大家都知道:GET把参数包含在URL中,明文不安全,最大支持2KB;POST通过request body传递参数,不显示、安全且不限制大小。再详细一点的: GET在浏览器回退时是无害的,而POST会再次提交... 阅读全文
posted @ 2022-06-25 14:03 沙滩de流沙 阅读(268) 评论(0) 推荐(0) 编辑
摘要:JavaScript 是所有现代浏览器以及 HTML5 中的默认脚本语言。 会告诉 JavaScript 在何处开始和结束。 之间的代码行包含了 JavaScript。 (1)例子:如果输入值不是数字,浏览器会弹出提示框 (2)js中的常见函数 i... 阅读全文
posted @ 2022-06-25 14:03 沙滩de流沙 阅读(16) 评论(0) 推荐(0) 编辑
摘要:(1)id 和 class 选择器 id 选择器以 "#" 来定义;类选择器以一个点"."号显示 (2)盒子模型 边距,边框,填充,和实际内容 Margin(外边距) - 清除边框外的区域,外边距是透明的。 Border(边框) - 围绕在内边距和内容外的... 阅读全文
posted @ 2022-06-25 14:03 沙滩de流沙 阅读(14) 评论(0) 推荐(0) 编辑
摘要:(1)表单用于收集不同类型的用户输入。文本域(textarea)、下拉列表、单选框(radio-buttons)、复选框(checkboxes)等。 ①表单本身并不可见,文本域的缺省宽度是20个字符。 ② 密码 Female 单选 I have a car... 阅读全文
posted @ 2022-06-25 14:03 沙滩de流沙 阅读(17) 评论(0) 推荐(0) 编辑
摘要:结论: isNotEmpty(str)等价于 str != null && str.length > 0 isNotBlank(str) 等价于 str != null && str.length > 0 && str.trim().length > 0 is... 阅读全文
posted @ 2022-06-25 14:03 沙滩de流沙 阅读(62) 评论(0) 推荐(0) 编辑
摘要:MySql中的时间类型分为两种:datetime和timestamp 区别(1):时间范围 datetime能表示的时间范围更广 datetime 8 bytes YYYY-MM-DD HH:MM:SS 1000-01-01 00:00:0... 阅读全文
posted @ 2022-06-25 14:03 沙滩de流沙 阅读(268) 评论(0) 推荐(0) 编辑
摘要:while、do..while和for都是构建循环体的关键字,构建循环体时按需选择就行,原则是: (1)明确循环次数时选择for; (2)次数不清晰但结束条件清楚时使用while; (3)while和do..while的区别是:do..while无论条件是否满... 阅读全文
posted @ 2022-06-25 14:03 沙滩de流沙 阅读(58) 评论(0) 推荐(0) 编辑
摘要:方法重载只需要把握住下面几个重点: (1)在同一个类中,方法名称相同,参数类型或个数不同的方法就是重载方法; public static int sum(int x, int y){ return x + y;}public static int sum... 阅读全文
posted @ 2022-06-25 14:03 沙滩de流沙 阅读(51) 评论(0) 推荐(0) 编辑
摘要:递归就是自己调自己,递归方法必须写明结束条件。 下面先以普通的循环结构写一段代码,如下: public class WeTest { public static void main(String[] args) { int sum = 0; ... 阅读全文
posted @ 2022-06-25 14:03 沙滩de流沙 阅读(19) 评论(0) 推荐(0) 编辑
摘要:1. class Happy{ public static void main(String args[]){ int i = 1; int j = i++; if ((i==(++j))&&((i++)==j)){ ... 阅读全文
posted @ 2022-06-25 14:03 沙滩de流沙 阅读(140) 评论(0) 推荐(0) 编辑
摘要:1、面向对象(OOP) 面向对象是相较于面向过程而言的,面向对象一直都是一个很抽象的概念,也是面试官钟爱且常问的问题,理解抽象的东西最好的办法就是利用比喻,找个现实世界的例子去匹配这个概念,就会使得抽象的东西容易理解。 ... 阅读全文
posted @ 2022-06-25 14:03 沙滩de流沙 阅读(143) 评论(0) 推荐(0) 编辑
摘要:1、类和对象理解 (1)类和对象一句话就能说明白:类是对某一类事物的共性的概括,对象是这类事物中的一个具体个体。 (2)不明白? 再加个例子就行了:人类就是类,小红、小明等就是这个类下的对象 人类为啥是个类?因为它把所有人的共性概括出来了,进化最高阶段的动物... 阅读全文
posted @ 2022-06-25 14:03 沙滩de流沙 阅读(17) 评论(0) 推荐(0) 编辑
摘要:1、什么是构造方法? 方法名与类名相同、用于实例化对象时初始化该对象属性的无返回值的方法。如下为一个有参构造方法: class Ball{ private String name; private double size; //方法名与类名相... 阅读全文
posted @ 2022-06-25 14:03 沙滩de流沙 阅读(56) 评论(0) 推荐(0) 编辑
摘要:this这个字可以说是学java里面的一个难点了,刚开始的时候确实有些晕,之所以会这样是因为this的使用形式很灵活,不同的情景中代表的含义不一样,但甭管怎样,秉持“不服就干”的态度,盘它! 1、this是个交际花 this这个关键字和类的属性,方法及对象... 阅读全文
posted @ 2022-06-25 14:03 沙滩de流沙 阅读(25) 评论(0) 推荐(0) 编辑
摘要:(一)JVM的内存分类 首先JVM的内存分为栈内存、堆内存及方法区: 栈内存: 连续的存储空间,遵循后进先出的原则每个线程包含一个栈区,栈中只保存基础数据类型的对象和自定义对象的引用(不是对象)每个栈中的数据(原始类型和对象引用)都是私有的,其他栈不能访问... 阅读全文
posted @ 2022-06-25 14:03 沙滩de流沙 阅读(360) 评论(0) 推荐(0) 编辑
摘要:最近写个接口给前端,前端说你这个map返回的数据都有了但是顺序是乱的,如下: 以上是想按照日期升序排列的,保存时明明是按照日期顺序封装的,但得到的是乱序的,查看代码发现我定义的orderDayMap是一个HashMap,HashMap不支持排序。 要想实现... 阅读全文
posted @ 2022-06-25 14:03 沙滩de流沙 阅读(59) 评论(0) 推荐(0) 编辑
摘要:最近后台日志报错如下: 主要原因是server.xml文件里没有配置Tomcat的header缓冲区大小,默认缓存区无法满足时报错,只需要在server.xml中增加maxHttpHeaderSize字段即可: <Connector port="7070" ... 阅读全文
posted @ 2022-06-25 14:03 沙滩de流沙 阅读(81) 评论(0) 推荐(0) 编辑
摘要:(1)static关键字:(修饰公共属性和方法),本身是一个公共属性,不需要先实例化对象才能使用,当然也可以通过对象来调用,但是最好的做法是直接使用类名调用。(2)static类型属性虽然方便使用,但设计类时,首选非static属性,只有考虑共公信息存储时才定... 阅读全文
posted @ 2022-06-25 14:03 沙滩de流沙 阅读(115) 评论(0) 推荐(0) 编辑
摘要:1、数组静态初始化 静态初始化就是在数组定义时就为其设置好内容,例如: 数据类型 数组名称[] = {数据1,数据2,...};或数据类型 数组名称[] = new 数据类型 [] {数据1,数据2,...}; 前一种是简写格式,后一种是完整格式,要注意的是... 阅读全文
posted @ 2022-06-25 14:03 沙滩de流沙 阅读(96) 评论(0) 推荐(0) 编辑
摘要:String类型不属于基本数据类型之一,它实际上是对数组的特殊包装,是一个匿名对象。 /** The value is used for character storage. */private final char value[]; 1、String类的... 阅读全文
posted @ 2022-06-25 14:03 沙滩de流沙 阅读(45) 评论(0) 推荐(0) 编辑
摘要:对于int类型的变量,我们只需要“==”来比较两者大小,但是对于两个字符串类型的变量不能完全用“==”来比较大小。 “==”和“equals()”的区别: “==” :可以用户数值的比较,但是比较字符串时比较的是两个字符串对象的内存地址是否相同;“equals... 阅读全文
posted @ 2022-06-25 14:03 沙滩de流沙 阅读(33) 评论(0) 推荐(0) 编辑
摘要:在定义字符串时," "和“null”不是一样的概念,一个表示有实例化对象、一个表示没有实例化对象。 String str1 = "";System.out.println(str1.isEmpty());System.out.println("sdsd".is... 阅读全文
posted @ 2022-06-25 14:03 沙滩de流沙 阅读(102) 评论(0) 推荐(0) 编辑
摘要:一、windows下 项目启动时经常见到端口被占用的情况,这时有两个方案:一是改项目配置文件的端口;二是释放这个被占用的端口。 我们这里看第二种,释放被占用的端口需要两个命令: netstat -ano|findstr 被占用端口号taskkill /t... 阅读全文
posted @ 2022-06-25 14:03 沙滩de流沙 阅读(2266) 评论(0) 推荐(0) 编辑
摘要:类的继承的作用主要在于可以扩充已有类的功能,子类继承后可以任意选择是否实现父类的方法,想实现就实现,不想实现就不实现。换句话说,父类无法对子类是否实现自己的某个方法做强制的约定。要想强制子类必须实现父类的某个方法,在设计时就需要考虑抽象类。 一、抽象类的定义 ... 阅读全文
posted @ 2022-06-25 14:03 沙滩de流沙 阅读(153) 评论(0) 推荐(0) 编辑
摘要:一、为什么需要包装类 包装类的主要功能是针对基本数据类型的对象转换而实现的。若想把基本数据类型以类或者对象的形式进行处理,就需要转换成包装类。 二、有哪些包装类 基本数据类型有八种,对应的包装类也有八种,对应关系如下: 概括的说,包装类分为两种: 对象型包装... 阅读全文
posted @ 2022-06-25 14:03 沙滩de流沙 阅读(35) 评论(0) 推荐(0) 编辑
摘要:一、接口定义 接口可以理解为更彻底的抽象类,接口中的组成以抽象方法和全局常量为主(JDK1.8后也可以包含普通方法和静态方法)。定义如下: interface ITest { public static final String MSG = "1111"... 阅读全文
posted @ 2022-06-25 14:03 沙滩de流沙 阅读(180) 评论(0) 推荐(0) 编辑
摘要:一、错误原因 springboot项目在上传较大文件时报错: Maximum upload size exceeded;org.apache.tomcat.util.http.fileupload.FileUploadBase$FileSizeLimitEx... 阅读全文
posted @ 2022-06-25 14:03 沙滩de流沙 阅读(591) 评论(0) 推荐(0) 编辑
摘要:一、问题 最近写了个接口,一直报Exception in thread "main" java.lang.NullPointerException,定位到报错的语句,发现是一个foreach语句报错: 于是打个断点查看,发现 userInfoBaseBOL... 阅读全文
posted @ 2022-06-25 14:03 沙滩de流沙 阅读(643) 评论(0) 推荐(0) 编辑
摘要:先看个经典的例子: List arrayList = new ArrayList();arrayList.add("aaaa");arrayList.add(100);for(int i = 0; i arrayList = new ArrayList(); ... 阅读全文
posted @ 2022-06-25 14:03 沙滩de流沙 阅读(100) 评论(0) 推荐(0) 编辑
摘要:一、枚举的定义 枚举也是在JDK1.5之后提出的概念,可以认为是多例设计的一种,只是相较来说更简单,也是因为有了枚举多例模式就受到了冷落,一般很少使用了。枚举也是一种定义有限个对象的结构。 创建枚举要使用enum关键字,隐含... 阅读全文
posted @ 2022-06-25 14:03 沙滩de流沙 阅读(170) 评论(0) 推荐(0) 编辑
摘要:一、不可重入锁 不可重入锁是指当前线程执行中已经获取了锁,如果再次获取该锁时,就会被阻塞。 下面我们以wait/notify来... 阅读全文
posted @ 2022-06-25 14:02 沙滩de流沙 阅读(62) 评论(0) 推荐(0) 编辑
摘要:一、冒泡排序 原理: 比较两个相邻的元素,将值大的元素交换到右边。 比如: 要排序数组:[10,1,35,61,89,36,... 阅读全文
posted @ 2022-06-25 14:02 沙滩de流沙 阅读(62) 评论(0) 推荐(0) 编辑
摘要:概述 Spring中的一个Bean从生到灭要经历很多过程,总体分为Bean定义、实例化、属性赋值(依赖注入)、初始化、生存期、销毁... 阅读全文
posted @ 2022-06-25 14:02 沙滩de流沙 阅读(1197) 评论(0) 推荐(0) 编辑
摘要:例如下面定义的bean: @EnableAspectJAutoProxy@Configuration@PropertySource... 阅读全文
posted @ 2022-06-25 14:02 沙滩de流沙 阅读(146) 评论(0) 推荐(0) 编辑
摘要:我们都知道 @Value 和 @ConfigurationProperties 获取默认配置文件的属性值,也就是applicatio... 阅读全文
posted @ 2022-06-25 14:02 沙滩de流沙 阅读(492) 评论(0) 推荐(0) 编辑
摘要:实现定时任务有6种方式: 使用线程创建定时任务使用 TimerTask 创建定时任务使用线程池创建定时任务使用 Quartz 框架实... 阅读全文
posted @ 2022-06-25 14:02 沙滩de流沙 阅读(2213) 评论(0) 推荐(0) 编辑
摘要:事件、监听器在我们开发中会经常遇到,比如某个业务逻辑后需要通知另一个组件去执行相应的逻辑,那就可以使用事件和监听,具体的场景:服务 A 在处理完某个逻辑之后,需要通知服务 B 去处理另一个逻辑,或者服务 A 处理完某个逻辑之后,需要将数据同步到微服务 B。 这... 阅读全文
posted @ 2022-06-25 14:02 沙滩de流沙 阅读(213) 评论(0) 推荐(0) 编辑
摘要:根据表结构自动生成mapper、xml、实体类。 使用mybatis-generator-maven-plugin。 步骤: (1)引入插件依赖(2)编写generatorConfig.xml文件(3)启动插件:maven–>plugins–>mybatis-... 阅读全文
posted @ 2022-06-25 14:02 沙滩de流沙 阅读(645) 评论(0) 推荐(0) 编辑
摘要:准备工作: 看源码当然要打断点,一步步跟着看更直观,示例代码如下: @EnableAspectJAutoProxy@Configurationpublic class AopOneConfig { @Bean public AopOne aopOn... 阅读全文
posted @ 2022-06-25 14:02 沙滩de流沙 阅读(2871) 评论(0) 推荐(3) 编辑
摘要:插件旨在提高效率,但是好用、安全是前提。 所以不好用的,比较鸡肋的就不介绍了。 各插件的安装也不介绍了,拷贝插件名字去市场找到然后Install就行了 。 一、Mybatis-log 这个插件是把mybatis使用log4j打印执行的sql语句转换成可... 阅读全文
posted @ 2022-06-25 14:02 沙滩de流沙 阅读(151) 评论(0) 推荐(0) 编辑
摘要:多环境的配置就是根据环境标签去适配相应环境的配置参数,好处就是“一套代码,到处运行”,不用随环境改变去修改代码。 虽然现在的springboot已经可以很好的支持多环境配置了,但是背后的原理还是要知道的。 那大致的想下,怎么实现的呢? 概括的说,其实很简单,就... 阅读全文
posted @ 2022-06-25 14:02 沙滩de流沙 阅读(87) 评论(0) 推荐(0) 编辑
摘要:属性值的注入利用@Value注解完成;@Autowired、@Resource、@Inject注解用于完成bean的注入,不同的是@Resource、@Inject是java提供的注解,而@Autowired是由spring提供,配合@Qualifier和@P... 阅读全文
posted @ 2022-06-25 14:02 沙滩de流沙 阅读(359) 评论(0) 推荐(0) 编辑
摘要:一、获取spring容器能干啥? 很多时候我们需要获取spring容器,也就是ApplicationContext,获取它有哪些好处呢? 要访问某个 bean 就必须得到一个ApplicationContext 或者 BeanFactory 对象, 比如... 阅读全文
posted @ 2022-06-25 14:02 沙滩de流沙 阅读(708) 评论(0) 推荐(0) 编辑
摘要:spring中的bean的生命周期可以大致的分为:创建(构造)-->初始化-->销毁。 bean的作用域不同,也会影响上面的过程,具体的: 1、创建(构造) 单例:在容器启动时就创建多例:每次在获取时创建 2、初始化 两者无区别,都是在bean创建并赋... 阅读全文
posted @ 2022-06-25 14:02 沙滩de流沙 阅读(283) 评论(0) 推荐(0) 编辑
摘要:怎么把想要的bean(而要注入的bean包括自己项目中的、第三方的)注册到spring容器,让spring替我们管理这些bean呢? 总结起来有四大方式: 一、通过包扫描特定注解的方式二、@Import 注解三、@Bean 注解四、FactoryBean ... 阅读全文
posted @ 2022-06-25 14:02 沙滩de流沙 阅读(1111) 评论(0) 推荐(0) 编辑
摘要:一、@Configuration 和 @Bean 在说@ComponentScan注解前,先来搞明白@Configuration 和 @Bean 这两个注解是干啥的。 在没有注解驱动开发前,要想在spring中注入一个bean,是通过 .xml 文件来实... 阅读全文
posted @ 2022-06-25 14:02 沙滩de流沙 阅读(2649) 评论(0) 推荐(0) 编辑
摘要:一、一般的参数校验怎么做的? 我们知道在Post接受一个对象参数的时候可以使用 @Valid 去验证,然后通过统一异常处理,直接返回给前端,不用在业务代码中对这些参数进行校验。 且约束的类型也有很多,比如: @Null 被注释的元素必须为 nu... 阅读全文
posted @ 2022-06-25 14:02 沙滩de流沙 阅读(642) 评论(0) 推荐(0) 编辑
摘要:给分析对象定义一个语言,并定义该语言的文法表示,再设计一个解析器来解释文法中的句子。 一、什么是解释器模式? 解释器这个名词想必大家都不会陌生,比如编译原理中,一个算术表达式通过词法分析器形成词法单元,而后这些词法单元再通过语法分析器构建语法分析树,最... 阅读全文
posted @ 2022-06-25 14:02 沙滩de流沙 阅读(93) 评论(0) 推荐(0) 编辑
摘要:类比于二维平面的坐标,或多维坐标。"桥"将多个维度的接口(或实现)连接起来,构成新的产品。 一、什么是桥接模式? 为什么关注的是多维的? 因为当某个类具有两个或两个以上的维度变化,若仅用继承将无法实现这种需要,或会使得设计变得相当臃肿。 这个多维度变化怎... 阅读全文
posted @ 2022-06-25 14:02 沙滩de流沙 阅读(50) 评论(0) 推荐(0) 编辑
摘要:大多情况下,都不需要使用访问者模式,但是一旦需要使用它时,那就真的需要使用了。 一、什么出手? 既然一出手这么牛逼,那到底啥时候才会出手呢? 简单的说,就是当系统中存在一个结构比较稳定的对象,但是它的访问者会经常改变,且不同的访问者对其访问的操作也不同... 阅读全文
posted @ 2022-06-25 14:02 沙滩de流沙 阅读(44) 评论(0) 推荐(0) 编辑
摘要:在享元模式中通常会出现工厂模式,需要创建一个享元工厂来负责维护一个享元池(Flyweight Pool)用于存储具有相同内部状态的享元对象。主要用于减少创建对象的数量,以减少内存占用和提高性能。 一、什么是享元模式? 在开发中会出现重复使用同一个对象的情... 阅读全文
posted @ 2022-06-25 14:02 沙滩de流沙 阅读(28) 评论(0) 推荐(0) 编辑
摘要:命令模式的核心在于引入了命令类,通过命令类来降低发送者和接收者的耦合度,请求发送者只需指定一个命令对象,再通过命令对象来调用请求接收者的处理方法。 一、什么是命令模式? 命令模式可以将请求发送者和接收者完全解耦,发送者与接收者之间没有直接引用关系,发送... 阅读全文
posted @ 2022-06-25 14:02 沙滩de流沙 阅读(59) 评论(0) 推荐(0) 编辑
摘要:一、匹配以某字符开头某一行 (?:^|\n)字符位置.* 比如(?:^|\n)prompt.*表示以prompt开头的这一行字符串 二、 匹配以a字符串开头,b字符串结尾的字符,中间不管 a字符串位置(.+?)b字符串位置 ,比如 匹配... 阅读全文
posted @ 2022-06-25 14:02 沙滩de流沙 阅读(55) 评论(0) 推荐(0) 编辑
摘要:迭代器模式提供一种方法顺序访问一个集合对象中的各个元素,而又不暴露其内部的表示。 一、为什么需要迭代器? 迭代器模式算是一个比较古老的设计模式,其源于对容器的访问,比如 Java 的 List 、Map 、数组等。 对容器对象的访问必然会设计遍历算法,可... 阅读全文
posted @ 2022-06-25 14:02 沙滩de流沙 阅读(14) 评论(0) 推荐(0) 编辑
摘要:组合模式可以在需要针对“树形结构”进行操作的应用中使用,例如扫描文件夹、渲染网站导航结构等等。 一、什么是组合模式? 组合模式将一组相似的对象看做一个对象处理,并根据一个树状结构来组合对象,提供一个统一的方法去访问相应的对象,使得用户对单个对象和组合对象... 阅读全文
posted @ 2022-06-25 14:02 沙滩de流沙 阅读(46) 评论(0) 推荐(0) 编辑
摘要:备忘录模式在不破坏封闭的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的状态。 一、备忘录模式 我们编辑word文档、写这篇博客的时候,经常用到 ctrl+z 这个快捷键,就是撤销当前操作回到上一步编辑状态... 阅读全文
posted @ 2022-06-25 14:02 沙滩de流沙 阅读(38) 评论(0) 推荐(0) 编辑
摘要:在适配器模式中,我们通过增加一个新的适配器类来解决接口不兼容的问题,使得原本没有任何关系的类可以协同工作。 一、 先从一个问题说起 之前负责的项目中遇到过一个问题: 在InterceptorAdapter拦截器中对请求进行验证,把验证信息传给日志... 阅读全文
posted @ 2022-06-25 14:02 沙滩de流沙 阅读(28) 评论(0) 推荐(0) 编辑
摘要:当一个对象内在状态改变时允许其改变行为,这个对象看起来像改变了其类。 一、怎么理解一个对象有多个状态? 一个对象和多个状态关联,每种状态又对应一种行为,也就是同一个对象会因为状态不同让你觉得这是不是同一个类。 比如,手机的HOME键: 关机状态: 没有... 阅读全文
posted @ 2022-06-25 14:02 沙滩de流沙 阅读(48) 评论(0) 推荐(0) 编辑
摘要:建造者模式是将一个复杂对象的构建与它的表示分离,各自独立,同样的构建过程可以有不同的表现。 一、你会怎么办? 对于复杂对象,那假如一个类的构造函数参数个数超过4个,而且这些参数有些是可选的参数,你要怎样将这个类实例化?可以有两种方式: 比如我们要画一个... 阅读全文
posted @ 2022-06-25 14:02 沙滩de流沙 阅读(26) 评论(0) 推荐(0) 编辑
摘要:一、什么是外观模式? 外观(Facade)模式又叫作门面模式,是一种通过为多个复杂的子系统提供一个一致的接口,而使这些子系统更加容易被访问的模式。该模式对外有一个统一接口,外部应用程序不用关心内部子系统的具体细节,这样会大大降低应用程序的复杂度,提高了程... 阅读全文
posted @ 2022-06-25 14:02 沙滩de流沙 阅读(51) 评论(0) 推荐(0) 编辑
摘要:一、什么是原型模式? 原型模式的核心思想是,通过拷贝指定的“原型实例(对象)”,创建跟该对象一样的新对象。简单理解就是“克隆指定对象”。 我看网上都是用简历来举例子,挺形象的那我们也用简历吧,都知道要针对不同的公司准备不同的简历,那一个人可能会有不同... 阅读全文
posted @ 2022-06-25 14:02 沙滩de流沙 阅读(42) 评论(0) 推荐(0) 编辑
摘要:一、先看个例子 给一个人搭配不同的服饰,代码可以这样写: @AllArgsConstructorpublic class Person01 { private String name; public String wearTShirt(){ ... 阅读全文
posted @ 2022-06-25 14:02 沙滩de流沙 阅读(29) 评论(0) 推荐(0) 编辑
摘要:重构的方法往往是零散的,大家在记忆时也是零散的,不系统。代码怎么写更好,你肯定能说出几点来,但还不够系统。 这里梳理记录一些重构方法与案例,意义在于系统的梳理后可以在平时写代码时做参照,写出更好的代码。 你想想每次重构的时候都能在这篇文章里找到对应的套路那该多... 阅读全文
posted @ 2022-06-25 14:02 沙滩de流沙 阅读(69) 评论(0) 推荐(0) 编辑
摘要:目录 一、类 二、接口 三、继承 四、接口实现 五、关联关系 六、聚合关系 七、组合关系 八、依赖关系 UML类图大家可能都知道,如果要画某段代码的UML类图,大家应该都画得出来。 但是画出来是一回事,画得规不规范又是另一回事,假如面试的时候人家让你画个策略模... 阅读全文
posted @ 2022-06-25 14:02 沙滩de流沙 阅读(40) 评论(0) 推荐(0) 编辑
摘要:目录 一、误删数据后除了跑路,还能怎么办? 1.1、误删行 1.2、误删库 / 表 阅读全文
posted @ 2022-06-25 14:02 沙滩de流沙 阅读(15) 评论(0) 推荐(0) 编辑
摘要:目录 一、随机查询 二、为什么有些SQL语句逻辑相同,性能却差异巨大? 案例一:条件字段函 阅读全文
posted @ 2022-06-25 14:02 沙滩de流沙 阅读(14) 评论(0) 推荐(0) 编辑
摘要:目录 一、一条SQL查询语句是如何执行的? 1.1、连接器 1.2、查询缓存 1.3、分析器 阅读全文
posted @ 2022-06-25 14:02 沙滩de流沙 阅读(14) 评论(0) 推荐(0) 编辑
摘要:可以说只要是后端开发基本都知道点Docker,但是仅仅知道那一点点是不够的,在交付逐渐以jar、war包的形式转为容器形式的趋势中,不管是开发还是运维人员都需要好好学习掌握Docker。 一、为什么会有Docker? 官方文档: https://doc... 阅读全文
posted @ 2022-06-25 14:02 沙滩de流沙 阅读(44) 评论(0) 推荐(0) 编辑
摘要:ES全称ElasticSearch,是一种分布式全文检索引擎,用于全文搜索、分析。近乎实时的存储及检索效率,可以在上百台服务器上运行处理PB级数据的扩展性都让ES成为炙手可热的搜索引擎。除此外,ES通过简单的RESTful API屏蔽了Lucence的复杂语法... 阅读全文
posted @ 2022-06-25 14:02 沙滩de流沙 阅读(687) 评论(0) 推荐(0) 编辑
摘要:在搜索引擎中包含很多的文件,每个文件都有对应的ID,文件内容就是系列关键词的集合(每个关键词也有对应ID)。 例如“文档1”经过分词,提取了100个关键词,会记录每个关键词在文档中的出现次数和出现位置。 一、倒排索引 假如给你一个文本库,现在让你去找出... 阅读全文
posted @ 2022-06-25 14:02 沙滩de流沙 阅读(309) 评论(0) 推荐(0) 编辑
摘要:为什么要说事务? 一方面业务开发中经常要考虑事务,比如调用第三方接口失败时处理本地数据状态时要考虑事务,结算时A账户增加失败时B账户也不能扣款成功。。。总之,在遇到原子性的操作,要成功都成功,要失败都失败的场景时,事务肯定是要考虑的! 另一方面,“你有没有遇到... 阅读全文
posted @ 2022-06-25 14:02 沙滩de流沙 阅读(134) 评论(0) 推荐(0) 编辑
摘要:整理一下,方便忘记时快速查看,持续更新。 一、文件/目录操作 cd - 返回上次所在的目录 cd / 返回根目录 pwd 显示当前目录路径 ls 查看目录中的文件 mkdir dir1 创建一个叫做 'dir1' 的目录' mkdir dir1 dir... 阅读全文
posted @ 2022-06-25 14:02 沙滩de流沙 阅读(189) 评论(0) 推荐(0) 编辑
摘要:一、微信小程序创建 先要去微信公众平台注册一个小程序,每个小程序都有相应的AppID(小程序ID)和AppSecret(小程序密钥),它们是获取ACCESS_TOKEN所需要的。微信公众平台地址: https://mp.weixin.qq.com/ 注册... 阅读全文
posted @ 2022-06-25 14:02 沙滩de流沙 阅读(1599) 评论(0) 推荐(0) 编辑
摘要:本文所有实例代码下载地址: https://github.com/ImOk520/myspringcloud 一、说明 Screw(螺丝钉)是一款简洁好用的数据库表结构文档生成工具,它的特点是:简洁、轻量、设计良好、多数据库支持、多种格式文档、灵活扩展... 阅读全文
posted @ 2022-06-25 14:02 沙滩de流沙 阅读(820) 评论(0) 推荐(0) 编辑
摘要:目录一、什么是微服务?什么是微服务架构? 二、什么是springcloud? 三、Spring Cloud和Dubbo的区别及各自的优缺点 四、Spring Boot 简介 五、Eureka是什么? 5.1 搭建Eureka服务注册中心 5.2 编写服务提供者... 阅读全文
posted @ 2022-06-25 14:02 沙滩de流沙 阅读(68) 评论(0) 推荐(0) 编辑
摘要:一、RestTemplate 简介 RestTemplate是Spring提供的用来访问Rest服务的客户端或者说是一个 HTTP 请求工具。 这么说可能有些抽象,那就设想一下:现在有A、B两个服务,两个服务都注册在eureka中,那A服务要调用B服务怎... 阅读全文
posted @ 2022-06-25 14:02 沙滩de流沙 阅读(56) 评论(0) 推荐(0) 编辑
摘要:一、基本概念和术语 1.1 数据、数据结构 数据:是描述客观事物的符号,是计算机中可以操作的对象,是能被计算机识别,并输入给计算机处理的符号集合。比如整型等数值类型、字符、声音、视频、图像等。 数据结构:是互相之间存在一种或多种特定关系的数据元素的集合。... 阅读全文
posted @ 2022-06-25 14:02 沙滩de流沙 阅读(155) 评论(0) 推荐(0) 编辑
摘要:一、Java中的锁 公平锁/非公平锁可重入锁/不可重入独享锁/共享锁读写锁分段锁偏向锁/轻量级锁/重量级锁自旋锁1.1 公平锁,非公平锁: 公平锁就是保障了多线程下各线程获取锁的顺序,先到的线程优先获取锁,当一个线程获取到锁后,这时如果其他多个线程同时请... 阅读全文
posted @ 2022-06-25 14:02 沙滩de流沙 阅读(159) 评论(0) 推荐(0) 编辑
摘要:一、分布式系统相关概念 分布式:一个业务分拆多个子业务,部署在不同的服务器上(不同的服务器,运行不同的代码,为了同一个目的) 集群:同一个业务,部署在多个服务器上(不同的服务器运行同样的代码,干同一件事) 高并发:相对于分布式来讲,高并发在解决的问题上会... 阅读全文
posted @ 2022-06-25 14:02 沙滩de流沙 阅读(155) 评论(0) 推荐(0) 编辑
摘要:一、贪心算法 也叫贪婪算法,是指在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,它所做出的仅仅是在某种意义上的局部最优解,最终通过各环节局部最优解促成整体的最优解。 贪心算法没有固定的算法框架,算法设计的关键是贪心策略的... 阅读全文
posted @ 2022-06-25 14:02 沙滩de流沙 阅读(122) 评论(0) 推荐(0) 编辑
摘要:在学习 MyBatis 程序之前,需要了解一下 MyBatis 工作原理,以便于理解程序。MyBatis 的工作 原理如下图: 1. 读取 MyBatis 配置文件:mybatis-confifig.xml 为 MyBatis 的全局配置文件,配置了 MyB... 阅读全文
posted @ 2022-06-25 14:02 沙滩de流沙 阅读(36) 评论(0) 推荐(0) 编辑
摘要:一、Spring Boot 是怎么完成自动配置的? 初识Spring Boot时我们就知道,Spring Boot有一个全局配置文件:application.properties或application.yml。这些配置是如何在Spring Boot项目中生效... 阅读全文
posted @ 2022-06-25 14:02 沙滩de流沙 阅读(378) 评论(0) 推荐(0) 编辑
摘要:一、何为 I/O? 从计算机结构的视角来看的话, I/O 描述了计算机系统与外部设备之间通信的过程。 输入输出I/O流可以看成对字节或者包装后的字节的读取就是拿出来放进去双路切换。 平常开发过程中接触最多的就是 磁盘 IO(读写文件) 和 网络 IO(网... 阅读全文
posted @ 2022-06-25 14:02 沙滩de流沙 阅读(288) 评论(0) 推荐(0) 编辑
摘要:一、二分查找 原理: 首先,使用二分法查找的前提是:被查找的数组已排好序 具体实现: 假如有一组数为3,12,24,36,55... 阅读全文
posted @ 2022-06-25 14:02 沙滩de流沙 阅读(20) 评论(0) 推荐(0) 编辑
摘要:一、流的概念和作用 流:代表任何有能力产出数据的数据源对象或者是有能力接受数据的接收端对象。 流的本质:数据传输,根据数据传输... 阅读全文
posted @ 2022-06-25 14:02 沙滩de流沙 阅读(34) 评论(0) 推荐(0) 编辑
摘要:一、TCP的全称?UDP的全称? TCP(Transfer Control Protocol) TCP:一种面向连接(连接导向)的、可靠的、基于字节流的传输层(Transport layer)通信协议。特点:面向连接;点到点的通信;高可靠性;占用系统资源... 阅读全文
posted @ 2022-06-25 14:02 沙滩de流沙 阅读(77) 评论(0) 推荐(0) 编辑
摘要:一、什么是servlet ? Servlet本质上就是一个Java语言定义的接口,广义的Servlet就是指实现了这个Servlet接口的类。一般指的就是后者。 Servlet实例的主要功能就是根据客户端的请求,找到并调用服务端相关java代码,完成对请... 阅读全文
posted @ 2022-06-25 14:02 沙滩de流沙 阅读(37) 评论(0) 推荐(0) 编辑
摘要:这篇文章将先阐述Nginx相关概念,然后介绍Nginx相关环境的安装配置过程(包括Linux下JDK\Tomcat的安装,都是自己动手操作的记录),及反向代理、负载均衡、动静分离、高可用的配置及测试过程,最后总结下Nginx的工作原理。 Nginx目录结构:... 阅读全文
posted @ 2022-06-25 14:02 沙滩de流沙 阅读(116) 评论(0) 推荐(0) 编辑
摘要:实现多线程我们知道可以继承Thread、实现Runnable接口等,但是为什么就实现呢?这篇文章就是解释多线程实现的底层原理。 一、主内存和工作内存 Java内存模型规定了所有的变量都存储在主内存(Main Memory)中,每条线程还有自己的工作内存... 阅读全文
posted @ 2022-06-25 14:02 沙滩de流沙 阅读(72) 评论(0) 推荐(0) 编辑
摘要:垃圾收集( Garbage Collection ,下文简称 GC),垃圾收集的历史远远比 Java久远。经过半个世纪的发展,今天的内存动态分配与内存回收技术已经相当成熟,一切看起来都进入了“自动化”时代,那为什么我们还要去了解垃圾收集和内存分配?答案很简单... 阅读全文
posted @ 2022-06-25 14:02 沙滩de流沙 阅读(82) 评论(0) 推荐(0) 编辑
摘要:一、Java内存区域 Java 虚拟机在执行 Java 程序的过程中会把它所管理的内存划分为若干个不同的数据区域。这些区域有各自的用途,以及创建和销毁 的时间,有的区域随着虚拟机进程的启动而一直存在,有些区域则是依赖用户线程的启动和... 阅读全文
posted @ 2022-06-25 14:02 沙滩de流沙 阅读(27) 评论(0) 推荐(0) 编辑
摘要:一、Spring MVC的由来 在最早期WEB系统有前端到后端是: 请求+JSP+Java Bean + 数据库 的模式,这种JSP和Java Bean前后端耦合在一起会带来很多麻烦,这种模式下JSP身兼多职,既要负责视图层的数据展示,又要负责业务流程... 阅读全文
posted @ 2022-06-25 14:02 沙滩de流沙 阅读(61) 评论(0) 推荐(0) 编辑
摘要:大概来说,git merge和git rebase都是用来做代码合并的,两者从最终效果来看没有任何区别,都是将不同分支的代码融合在一起。 但是在遇到冲突和具体使用场景上有一些不同。 一、rebase rebase会把你当前分支的 commit 放到公共分... 阅读全文
posted @ 2022-06-25 14:02 沙滩de流沙 阅读(374) 评论(0) 推荐(0) 编辑
摘要:一、为什么要用线程池 一个线程执行某个任务的时间片可以分成3块,创建线程T1,执行任务T2,销毁线程T3,现实中往往是 T1+T3>T2,也就是真正执行任务花费的时间很短,反而是创建与销毁线程更耗时,也是就是若我们需要多个线程去执行任务时,线程的创建和销... 阅读全文
posted @ 2022-06-25 14:02 沙滩de流沙 阅读(137) 评论(0) 推荐(0) 编辑
摘要:一、什么是远程调试? 两个VM之间通过debug协议进行通信,然后以达到远程调试的目的。两者之间可以通过socket进行通信。换句话说,就是你可以在本地测试非本地环境的应用,比如在你本地直接调试生产环境的代码。这就比较爽了,线上出现问题你不需要在本地准备和线上... 阅读全文
posted @ 2022-06-25 14:02 沙滩de流沙 阅读(410) 评论(0) 推荐(0) 编辑
摘要:一、索引 1.1 为什么要使用索引? 这个可以类比查新华字典,假如字典前面没有“按偏旁部首”、“按拼音”等查询,你要是去查一个字就只能一个一个去字典里面翻了,效率很低。但是按照“偏旁部首”去查就快多了,不用盲目地去一个个翻找。“按偏旁部首”、“按拼音”其... 阅读全文
posted @ 2022-06-25 14:02 沙滩de流沙 阅读(41) 评论(0) 推荐(0) 编辑
摘要:一、悲观锁 悲观锁:总是假设最坏的情况,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会阻塞,直到它拿到锁。 悲观锁又叫互斥同步锁,它为了确保结果的正确性,会在每次获取到数据后,都会将其锁住,因此当其他线程也来... 阅读全文
posted @ 2022-06-25 14:02 沙滩de流沙 阅读(815) 评论(1) 推荐(1) 编辑
摘要:这里把各种树做个总结,分别介绍各个树是什么,什么原理,什么特点,什么情况下使用,另外很多时候它们很多地方是相似的,还要加以区别,之前我身边一个很多年开发的经验的老开发还以为B树、B-树、B+树是三种树,实际没有B-树,它实际就是B树,要是不区分清楚闹出这样的笑... 阅读全文
posted @ 2022-06-25 14:02 沙滩de流沙 阅读(113) 评论(0) 推荐(0) 编辑
摘要:一、什么是NoSQL 要介绍Redis前必须要先介绍下NoSQL,这两者间密不可分。什么是NoSQL? NoSQL即(not only SQL)不仅仅是SQL,泛指非关系数据库/技术。非关系数据库在高并发的场景下有巨大优势,这点MySQL等关系型数据库是... 阅读全文
posted @ 2022-06-25 14:02 沙滩de流沙 阅读(127) 评论(0) 推荐(0) 编辑
摘要:一、OSI分层模型 物理层: 这一层主要和各种硬件挂钩,会用到光缆、电缆、双绞线、无线电波、中继器、集线器等多种设备,就像打电话会用到电话线一样。搞这么设备干什么呢?官方的表达就是:利用传输介质为相互通信的主机间建立、管理、和释放物理链接,保... 阅读全文
posted @ 2022-06-25 14:02 沙滩de流沙 阅读(105) 评论(0) 推荐(0) 编辑
摘要:一、安装ODBC数据源驱动 ODBC数据源驱动有32位和64位两种,可以自行网上搜索下载安装,安装成功后可在 控制面板--》系统和安全 --》管理工具 查看到如下: 二、安装MySQL的ODBC驱动 安装好上面的ODBC数据源驱动后选择自己对应... 阅读全文
posted @ 2022-06-25 14:02 沙滩de流沙 阅读(342) 评论(0) 推荐(0) 编辑
摘要:一、Http协议简介 HTTP协议,即超文本传输协议(Hypertext transfer protocol)。HTTP协议通常承载于TCP协议之上,属于TCP/IP模型中应用层的协议,有时也承载于TLS或SSL协议层之上,这个时候,就成了我们常说的HT... 阅读全文
posted @ 2022-06-25 14:02 沙滩de流沙 阅读(148) 评论(0) 推荐(0) 编辑
摘要:一、使用Stream的好处 Stream是Java 8提供的新功能,是对集合(Collection)对象功能的增强,能对集合对象进行各种非常便利、高效的聚合操作(aggregate operation),或者大批量数据操作 (bulk data operati... 阅读全文
posted @ 2022-06-25 14:02 沙滩de流沙 阅读(319) 评论(0) 推荐(0) 编辑
摘要:目录 一、开闭原则(Open Closed Principle,OCP) 内涵 益处 实现方式 二、里氏替换原则(Liskov Substitution Principle,LSP) 内涵 益处 实现方式 三、依赖倒置原则(Dependence Invers... 阅读全文
posted @ 2022-06-25 14:02 沙滩de流沙 阅读(35) 评论(0) 推荐(0) 编辑
摘要:最近对接口进行压测,发现只要超过10个线程就报错,都是11个线程请求就报下面的错: 于是查看后台日志,定位错误日志如下: 大致可以看出是hystrix的问题,于是百度hystrix的相关配置,详细配置: https://github.com/Netfl... 阅读全文
posted @ 2022-06-25 14:02 沙滩de流沙 阅读(352) 评论(0) 推荐(0) 编辑
摘要:目录 一、区别汇总 1. 编译过程 2. 是否自动加单引号 3. 安全性 4. Mybatis默认值不同 二、区别说明 1. #{} 2. ${} 3. 关于安全性 4. 关于默认值 4.1 #{} 4.2 ${} 三、如何选择 #{} ... 阅读全文
posted @ 2022-06-25 14:02 沙滩de流沙 阅读(1271) 评论(0) 推荐(0) 编辑
摘要:一、文件上传接口 /** * 文件服务 * * @Author Feng, Ge 2020年3月11日15:22:54 */@RestController@RequestMapping(value = "/file")@Api(value = "FileCo... 阅读全文
posted @ 2022-06-25 14:02 沙滩de流沙 阅读(615) 评论(0) 推荐(0) 编辑
摘要:一、what is 观察者模式? 观察者模式又称为发布订阅模式,它定义了一种一对多的依赖关系,一个被观察者对象会被多个观察者同时监视,当被观察者的状态发生改变,会通知所有观察者,并让其作出相应动作。 这种关系和数学里面的函数类似:比如y=2x,当x=1,y=2... 阅读全文
posted @ 2022-06-25 14:02 沙滩de流沙 阅读(104) 评论(0) 推荐(0) 编辑
摘要:一、what is 责任链模式? 我前面的文章介绍过动态代理模式,该模式设计者只需要向开发者暴露拦截器即可。当有多个拦截器时,就衍生出了责任链。 什么是责任链?比如请假流程:请假单看成对象,你要请假需要经过开发经理、部门经理、人事部门负责人等多个环节,每个环... 阅读全文
posted @ 2022-06-25 14:02 沙滩de流沙 阅读(163) 评论(0) 推荐(0) 编辑
摘要:消息 指的是两个应用间传递的数据。数据的类型有很多种形式,可能只包含文本字符串,也可能包含嵌入对象。 消息队列(Message Queue) 是在消息的传输过程中保存消息的容器。 在消息队列中,通常有生产者和消费者两个角色。生产者只负责发送数据到消息队列,谁从... 阅读全文
posted @ 2022-06-25 14:02 沙滩de流沙 阅读(515) 评论(0) 推荐(0) 编辑
摘要:目录 一、what is 队列? 1.1 现实中的队列 1.2 代码中的队列 1.3 队列分类 1.4 队列适用范围 二、队列使用 二、队列的实现 一、what is 队列? 1.1 现实中的队列 队列队列就是要排队啊,排队就是要等待啊,现实中有哪... 阅读全文
posted @ 2022-06-25 14:02 沙滩de流沙 阅读(116) 评论(0) 推荐(0) 编辑
摘要:错误如下: 实际上提示已经给出了答案,这里把@SpringBootApplication换成@EnableAutoConfiguration即可 阅读全文
posted @ 2022-06-25 14:02 沙滩de流沙 阅读(21) 评论(0) 推荐(0) 编辑
摘要:目录 一、what is 策略? 二、what is 策略模式? 2.1 策略模式中的角色 2.2 策略模式通用实现 2.3 案例改写 三、策略模式核心思想 四、策略上下文角色的作用 4.1 从策略上下文获取数据 4.2 策略实现类自己添加所需的数据... 阅读全文
posted @ 2022-06-25 14:02 沙滩de流沙 阅读(53) 评论(0) 推荐(0) 编辑
摘要:目录 一、为什么要用中介者模式 二、中介者模式中的角色 三、中介者模式怎么用? 四、中介者模式的优缺点 优点 缺点 一、为什么要用中介者模式 中介者模式核心在于中介者这个角色,理解上可以参考现实中的中介者,中介就跟中间人一样,跟桥梁... 阅读全文
posted @ 2022-06-25 14:02 沙滩de流沙 阅读(935) 评论(0) 推荐(0) 编辑
摘要:目录 一、什么是代理? 二、代理的好处 三、实现代理的步骤 四、静态代理 五、动态代理 六、 Cglib动态代理 七、Spring的AOP中的动态代理 八、拦截器 ... 阅读全文
posted @ 2022-06-25 14:02 沙滩de流沙 阅读(185) 评论(0) 推荐(0) 编辑
摘要:一、单例模式能干啥? 所谓单例,就是整个程序有且仅有一个实例。 某个类全局只有一个实例对象有什么好处?一方面,由于单例模式只生成一个实例,减少了系统性能开销;另一方面,单例模式存在全局访问点,所以可以优化共享资源访问。比如:网站的计数器,一般也是采用单例模式... 阅读全文
posted @ 2022-06-25 14:02 沙滩de流沙 阅读(565) 评论(0) 推荐(0) 编辑
摘要:目录 一、工厂模式的分类: 二、简单工厂模式 2.1 简单工厂模式角色分配 2.2 简单工厂实例 2.3 适用场景 2.4 利用反射优化简单工厂模式 三、工厂方法模式 3.1 工厂模式和简单工厂模式区别 3.2 适用场景 3.3 工厂模式角色分配 3.4 工厂... 阅读全文
posted @ 2022-06-25 14:02 沙滩de流沙 阅读(775) 评论(0) 推荐(0) 编辑
摘要:(源码链接:https://pan.baidu.com/s/1i-afXQ2tBGded6t8Psea8g 提取码:bh0r) 一、... 阅读全文
posted @ 2022-06-25 14:02 沙滩de流沙 阅读(58) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2022-06-25 14:02 沙滩de流沙 阅读(19) 评论(0) 推荐(0) 编辑
摘要:工欲善其事必先利其器,IDEA几乎是朝夕相伴的,下面记录一下安装过程。 首先是安装包 百度网盘地址(包含注册文件):https://pan.baidu.com/s/1zKq_2i4USjGqAJO5RyRSjA&shfl=sharepset 提取码:sjn... 阅读全文
posted @ 2022-06-25 14:02 沙滩de流沙 阅读(146) 评论(0) 推荐(0) 编辑
摘要:List在循环时我们需要根据条件删除该List中满足条件的元素,最先想到的是按照下面的方式: public class Demo3 { public static void main(String[] args) { ArrayList l... 阅读全文
posted @ 2022-06-25 14:02 沙滩de流沙 阅读(1073) 评论(0) 推荐(0) 编辑
摘要:在数据模型图(Data Modeling)中,EA支持13种不同型号的数据库建模,可直接生成建表SQL语句,同时也可以通过ODBC,导入已存在的数据表结构。分以下步骤: 一、安装ODBC驱动 通过ODBC导入已经存在的Mysql数据表结构第一步就是确定OD... 阅读全文
posted @ 2022-06-25 14:02 沙滩de流沙 阅读(271) 评论(0) 推荐(0) 编辑
摘要:IDEA搜索 一、全局搜索:双击shift 二、全局搜索替换:ctrl + shift + r IDEA对选中的多行代码上下左右移动 一、选中代码 二、代码右移:TAB键 三、代码左移:shift+TAB键 四、代码上移:shift+alt +方向键上 五、... 阅读全文
posted @ 2022-06-25 14:02 沙滩de流沙 阅读(333) 评论(0) 推荐(0) 编辑
摘要:目录 一、集合类关系图 二、Iterator 三、ListIterator 四、Collection 五、List (1)ArrayList 1)Array和ArrayList区别 2)实现自己的ArrayList (2)LinkedList (3)Vect... 阅读全文
posted @ 2022-06-25 14:02 沙滩de流沙 阅读(46) 评论(0) 推荐(0) 编辑
摘要:通过FeignClient调用服务,出现以下错误: 出现404第一反应是服务没有访问到,于是检查路径,发现 client确实少了一个/sysResource/,错误版如下: @FeignClient(value = "mlyun-uc", primary =... 阅读全文
posted @ 2022-06-25 14:02 沙滩de流沙 阅读(608) 评论(0) 推荐(0) 编辑
摘要:使用@Autowired导入client时报如下错误: 找不到这个client,于是到启动类里观察 @EnableFeignClients("")配置路径,发现果然不对: 修改后问题解决。 多路径扫描配置: 阅读全文
posted @ 2022-06-25 14:02 沙滩de流沙 阅读(0) 评论(0) 推荐(0) 编辑
摘要:问题背景:两个服务A和B,A使用Feign调用服务B的接口报错,显示B服务不可用,具体如下: 产生以上错误的原因是B服务没有被发现,解决上面的问题可以从3个方面入手排查: 排查一: 首先到注册中心列表查看服务是否存在,是否成功注册: 以上,服务已成功注... 阅读全文
posted @ 2022-06-25 14:02 沙滩de流沙 阅读(3676) 评论(0) 推荐(0) 编辑
摘要:退回上次commit,输入HEAD^ 退回到第2次提交之前,输入HEAD~2 精确退回到指定commit版本,输入id号 可以在执行的时候打开下面的窗口,方便观察文件动态: 阅读全文
posted @ 2022-06-25 14:02 沙滩de流沙 阅读(971) 评论(0) 推荐(0) 编辑
摘要:一、类加载过程 要知道反射机制,还需要理解类的加载过程。总的来说,类加载的五个过程:加载、验证、准备、解析、初始化。 除了加载(装... 阅读全文
posted @ 2022-06-25 14:02 沙滩de流沙 阅读(229) 评论(0) 推荐(0) 编辑
摘要:一、问题引出 多个线程访问同一个资源时,如果操作不当就很容易产生意想不到的错误,比如常见的抢票程序: public class... 阅读全文
posted @ 2022-06-25 14:02 沙滩de流沙 阅读(77) 评论(0) 推荐(0) 编辑
摘要:一、响应式编程解决什么问题? Spring framework 5 最大的变化就是引入了响应式编程(Reactive Prog... 阅读全文
posted @ 2022-06-25 14:01 沙滩de流沙 阅读(675) 评论(0) 推荐(1) 编辑
摘要:常用缓存提升数据查询速度,由于缓存容量有限,当缓存容量到达上限,就需要删除部分数据挪出空间,这样新数据才可以添加进来。缓存数据不能随... 阅读全文
posted @ 2022-06-25 14:01 沙滩de流沙 阅读(222) 评论(0) 推荐(0) 编辑
摘要:最近去面试,面试官都会先问:Redis中有哪些数据类型?接着就会问Redis各种数据类型底层结构,会问如果要统计用户活跃数、用户登录... 阅读全文
posted @ 2022-06-25 14:01 沙滩de流沙 阅读(371) 评论(0) 推荐(0) 编辑
摘要:面试官问这个问题不奇怪,可以说一致性Hash算法是分布式系统中的一个基石一样的算法,没有这个算法可能很多问题不太好解决。 Hash算... 阅读全文
posted @ 2022-06-25 14:01 沙滩de流沙 阅读(85) 评论(0) 推荐(0) 编辑
摘要:排序算法也是常考的,参考这里 一、排列硬币 链接:https://leetcode-cn.com/problems/arran... 阅读全文
posted @ 2022-06-25 14:01 沙滩de流沙 阅读(18) 评论(0) 推荐(0) 编辑
摘要:一、限流算法 主要的限流算法包含:漏桶算法、令牌桶算法、计数器 。 每种限流算法详细可以参考这里 二、分布式限流方案 一... 阅读全文
posted @ 2022-06-25 14:01 沙滩de流沙 阅读(224) 评论(0) 推荐(0) 编辑
摘要:一、概述 应用程序升级面临最大挑战是新旧业务切换,将软件从测试的最后阶段带到生产环境,同时要保证系统不间断提供服务。 长期以来... 阅读全文
posted @ 2022-06-25 14:01 沙滩de流沙 阅读(95) 评论(0) 推荐(0) 编辑
摘要:上面是Spring Cloud这种RPC的框架图,对于Spring Cloud这个框架大家应该比较熟悉了,但是不能只停留在使用的层... 阅读全文
posted @ 2022-06-25 14:01 沙滩de流沙 阅读(187) 评论(0) 推荐(0) 编辑
摘要:一、为什么要分库分表? 答案很简单:数据库出现性能瓶颈。用大白话来说就是数据库快扛不住了。 大量请求阻塞 在高并发场景下,大量... 阅读全文
posted @ 2022-06-25 14:01 沙滩de流沙 阅读(235) 评论(0) 推荐(0) 编辑
摘要:一、k8s是什么?请说出你的了解? Kubenetes是一个针对容器应用,进行自动部署,弹性伸缩和管理的开源系统。主要功能是生... 阅读全文
posted @ 2022-06-25 14:01 沙滩de流沙 阅读(54) 评论(0) 推荐(0) 编辑
摘要:1、应尽量避免在 where 子句中使用!=或操作符,否则将引擎放弃使用索引而进行全表扫描。 2、对查询进行优化,应尽量避免全表扫描... 阅读全文
posted @ 2022-06-25 14:01 沙滩de流沙 阅读(18) 评论(0) 推荐(0) 编辑
摘要:JDK 独占锁(排他锁)的实现除了使用关键字 synchronized 外,还可以使用ReentrantLock。虽然在性能上两者没... 阅读全文
posted @ 2022-06-25 14:01 沙滩de流沙 阅读(84) 评论(0) 推荐(0) 编辑
摘要:一、AQS 框架简介 AQS即AbstractQueuedSynchronizer是JUC(java.util .concur... 阅读全文
posted @ 2022-06-25 14:01 沙滩de流沙 阅读(57) 评论(0) 推荐(0) 编辑
摘要:池化技术有很多, 比如线程池、数据库连接池、HTTP连接池等等。 线程池的好处: 降低资源消耗。通过重复利用已创建的线程降低线程创建... 阅读全文
posted @ 2022-06-25 14:01 沙滩de流沙 阅读(51) 评论(0) 推荐(0) 编辑
摘要:如果一个对象在不能够修改其内部状态(属性),那么它就是线程安全的,因为不存在并发修改。 比如类用 final 修饰保证了该类中的方法... 阅读全文
posted @ 2022-06-25 14:01 沙滩de流沙 阅读(13) 评论(0) 推荐(0) 编辑
摘要:Java中 synchronized 和 ReentrantLock 等 独占锁 就是 悲观锁 思想的实现。管程即monitor是阻... 阅读全文
posted @ 2022-06-25 14:01 沙滩de流沙 阅读(52) 评论(0) 推荐(0) 编辑
摘要:一、Java内存模型 JMM即Java Memory Model,它定义了主存、工作内存抽象概念,底层对应着 CPU 寄存器、... 阅读全文
posted @ 2022-06-25 14:01 沙滩de流沙 阅读(33) 评论(0) 推荐(0) 编辑
摘要:一、多线程设计模式之一:保护性暂停(Guarded Suspension) 1.1 基本概念 定义:即Guarded Susp... 阅读全文
posted @ 2022-06-25 14:01 沙滩de流沙 阅读(74) 评论(0) 推荐(0) 编辑
摘要:一、进程、线程与协程 进程 程序由指令和数据组成,但这些指令要运行,数据要读写,就必须将指令加载至 CPU,数据加载至内存。在... 阅读全文
posted @ 2022-06-25 14:01 沙滩de流沙 阅读(30) 评论(0) 推荐(0) 编辑
摘要:引子 两个线程对初始值为 0 的同一个变量分别做自增和自减,各执行5000次,这个变量结果还是不是0? public class A... 阅读全文
posted @ 2022-06-25 14:01 沙滩de流沙 阅读(22) 评论(0) 推荐(0) 编辑
摘要:一、内存泄漏案例分析(一) public class Stack { private Object[] eleme... 阅读全文
posted @ 2022-06-25 14:01 沙滩de流沙 阅读(31) 评论(0) 推荐(0) 编辑
摘要:使用上述命令行工具或组合能帮您获取目标 Java 应用性能相关的基础信息,但它们存在下列局限: 无法获取方法级别的分析数据,如方法间... 阅读全文
posted @ 2022-06-25 14:01 沙滩de流沙 阅读(76) 评论(0) 推荐(0) 编辑
摘要:一、背景说明 1.1、生产环境中的问题 生产环境发生内存溢出该如何处理?生产环境应该给服务器分配多少内存合适?如何对垃圾回收器... 阅读全文
posted @ 2022-06-25 14:01 沙滩de流沙 阅读(166) 评论(0) 推荐(0) 编辑
摘要:一、Java的前端编译器 前端编译器的主要任务就是负责将符合Java语法规范的Java代码(. java)转换为符合JVM规范... 阅读全文
posted @ 2022-06-25 14:01 沙滩de流沙 阅读(155) 评论(0) 推荐(0) 编辑
摘要:通过阅读GC日志,我们可以了解Java虛拟机内存分配与回收策略。 一、GC日志命令 -XX:+PrintGC 输出GC日志(这... 阅读全文
posted @ 2022-06-25 14:01 沙滩de流沙 阅读(20) 评论(0) 推荐(0) 编辑
摘要:一、GC分类 按垃圾回收器的线程数分 分为串行并行垃圾回收器。 串行垃圾回收器只有一个垃圾回收线程,并行垃圾回收器有多个垃圾回... 阅读全文
posted @ 2022-06-25 14:01 沙滩de流沙 阅读(68) 评论(0) 推荐(0) 编辑
摘要:Reference 子类中只有终结器引用是包内可见的,其他3中引用类型均是public,可以在应用程序中直接使用。 强引用(Stro... 阅读全文
posted @ 2022-06-25 14:01 沙滩de流沙 阅读(18) 评论(0) 推荐(0) 编辑
摘要:一、什么是垃圾? 垃圾是指在运行程序中没有任何指针指向的对象,这个对象就是需要被回收的垃圾。 二、为什么需要GC? 1.... 阅读全文
posted @ 2022-06-25 14:01 沙滩de流沙 阅读(35) 评论(0) 推荐(0) 编辑


关注「Java视界」公众号,获取更多技术干货