- 博客(373)
- 资源 (12)
- 收藏
- 关注
原创 Unable to ping server at localhost:1099
Unable to ping server at localhost:1099
2023-05-08 14:10:01
2697
1
原创 mysql别名引号与引用问题
mysql别名使用问题本内容来源于官方文档 英文不错的同学可以直接到文档https://dev.mysql.com/doc/refman/8.0/en/problems-with-alias.html别名用的位置可以在查询选择列表中使用别名来为列指定不同的名称,可以在GROUP BY,ORDER BY, HAVING,where中使用别名使用时的问题有问题-- 获取每一个部门的平均薪资-- 别名带引号select did as "d",avg(salary)from t_employ
2022-04-14 09:21:31
2757
原创 idea查看继承关系
一.子类查看父类1.1选中子类右键打开菜单1.2继承关系如图所示二.父类查看所有的子类2.1如图,打开需要查询的类2.2打开菜单2.3结果如下
2021-10-16 11:44:44
745
原创 i=i++; i=++i;从虚拟机角度解答
i=i++public class MTest { public static void main(String[] args) { int m = 100; m = m++; }}//结果是 100 通过javap -c 命令查看字节码指令如下javap -c Mtest.class0: bipush 100 将常量池数据100压栈到 操作数栈2: istore_1 弹出栈顶元素100 放到局部变量表下标为1 的位置3: iload
2021-09-26 20:22:49
329
原创 idea添加thymeleaf命名空间
一.问题thymeleaf不能提示二.可以在根标签加入命名空间解决<html lang="en" xmlns:th="http://www.thymeleaf.org">三.麻烦点单独一个页面添加很简单,但是如果有多个界面用到thymeleaf 就需要多次复刚才那行代码 比较麻烦四.添加快捷模板使用就像使用主方法 psvm 就可以了, 打印语句 使用 sout 按tab键就出来了我们想要 在 html 内按 thy(此处可以自定义)就插入此命名空间 步骤如下:4.1打开id
2021-09-22 10:15:43
2328
原创 正则表达式(.*?)惰性匹配()
1、. 匹配任意除换行符“\n”外的字符;2、表示匹配前一个字符0次或无限次;3、?表示前边字符的0次或1次重复4、+或后跟?表示非贪婪匹配,即尽可能少的匹配,如*?重复任意次,但尽可能少重复;5、 .? 表示匹配任意数量的重复,但是在能使整个匹配成功的前提下使用最少的重复。如:a.?b匹配最短的,以a开始,以b结束的字符串。如果把它应用于aabab的话,它会匹配aab和ab。...
2021-09-10 17:37:15
480
原创 快速迭代机制失败不能保证的原因
当使用foreach或Iterator迭代器遍历集合时,同时调用迭代器自身以外的方法修改了集合的结构,例如调用集合的add和remove方法时,就会报ConcurrentModificationException。但是,迭代器的快速失败行为不能得到保证,一般来说,存在不同步的并发修改时,不可能作出任何坚决的保证。快速失败迭代器尽最大努力抛出 ConcurrentModificationException*。例如:ArrayList<String> list = new ArrayList&l
2021-07-20 21:35:53
399
原创 linux编辑基本语法
一般模式语法功能描述yy复制光标当前一行y数字y复制一段(从光标当前行到后n行)p箭头移动到目的行粘贴u撤销上一步dd删除光标当前行d数字d删除光标(含)后多少行x剪切一个字母(当前光标),相当于delX剪切一个字母(当前光标的前一个),相当于Backspaceyw复制一个词dw删除一个词shift+6(^)移动到行头shift+4($)移动到行尾1+shift+g移动到页头,数字s
2021-06-24 16:35:51
260
原创 JVM字节码之整型入栈指令(iconst、bipush、sipush、ldc)
前言当int取值-1~5采用iconst指令,取值-128~127采用bipush指令,取值-32768~32767采用sipush指令取值-2147483648~2147483647采用 ldc 指令。iconst当int取值-1~5时,JVM采用iconst指令将常量压入栈中。定义Test.java文件public static void main(String[] args) { int i = 5; int j = -1; }查看class文件publi
2021-06-15 19:12:11
2200
2
原创 删除服务名
删除服计算机服务名步骤管理员权限打开dos窗口输入命令 sc delete 服务名sc delete 服务名-- 例子sc delete mysql
2021-01-03 16:37:34
638
原创 idea显示更加丰富的调试信息
idea调试 会默认忽略集合中的null值 而这些信息 是需要展示出来的 如下图所示如何设置呢?打开idea的设置 如图操作即可
2020-10-13 15:05:15
598
原创 Properties显示中文内容
Properties显示中文配置文件 Properties存储中文内容时 会转为 Unicode编码的形式 直接输出会展现为乱码的形态username=\u7528\u6237\u540Dpassword=\u5BC6\u7801直接显示输出会乱码,尤其是在做国际化的时候,有很多条记录,一条条的转换非常麻烦idea中提供了一种友好的方式 可以实现一键 将中文转为Unicode手动使用native2ascii进行转换native2ascii 是jdk自带的工具 在 bin目录下将中文转为
2020-10-12 15:19:23
3432
原创 JDBC SPI加载机制
测试时偶然发现即使不加载驱动 也是可以成功获取数据库连接的 @Test public void test3() throws Exception { //Class.forName("com.mysql.jdbc.Driver"); String userName = "root"; String passWord = "root"; String url = "jdbc:mysql://localhost:3306/test";
2020-09-14 10:57:25
1006
1
原创 Sqlyog 提示关键字大写变为小写
使用SqlYog 进行提示出来的关键字都是大写的 不太直观 SHOW TABLES; CREATE DATABASE test;可以对工具进行设置 将大写的关键字 和函数全部变为小写将 UPPERCASE 改为 LOWECASE 即可。
2020-09-07 10:58:44
2157
原创 idea单元测试不能使用Scanner
解决idea单元测试不能使用Scanner打开设置界面 添加这一句-Deditable.java.test.console=true添加完毕后重启idea,然后再进行测试
2020-08-18 09:57:44
3511
1
原创 char数组直接输出内容,其他输出hash码的原因
char数组直接输出内容,其他输出hash码的原因public class Test { public static void main(String[] args) { char[] arr = {'你', '好', '啊'}; System.out.println(arr); int[] arr1 = new int[]{1, 2, 3}; System.out.println(arr1);// Double[]
2020-08-10 10:40:00
1207
原创 位运算符以及源码补码反码
位运算符位操作是程序设计中对位模式按位或二进制数的一元和二元操作。创建一个表格位运算符意义<<左移>>右移>>>无符号右移 最高位无论正数负数都补0&俩数都为1结果为1|有一个为1结果是1^相同为0不同为1原码、补码、反码原码:是最简单的机器数表示法。用最高位表示符号位,‘1’表示负号,‘0’表示正号。其他位存放该数的二进制的绝对值。反码:正数的反码还是等于原码补码:正数的补码等
2020-08-06 17:55:17
435
原创 线程池ThreadPoolExecutor
引子线程的创建和销毁比较消耗资源,所以有一种更加高效快捷的方式管理线程----线程池。 先来看一下线程池的java模型Executor:线程池顶级接口,只有一个方法ExecutorService:真正的线程池接口void execute(Runnable command) :执行任务/命令,没有返回值,一般用来执行Runnable Future submit(Callable...
2020-03-23 07:52:38
1220
原创 volatile
学习volatile之前,先补充一下概念:Java 内存模型中的可见性、原子性和有序性。可见性: 可见性是一种复杂的属性,因为可见性中的错误总是会违背我们的直觉。通常,我们无法确保执行读操作的线程能适时地看到其他线程写入的值,有时甚至是根本不可能的事情。为了确保多个线程之间对内存写入操作的可见性,必须使用同步机制。 可见性,是指线程之间的可见性,一个线程修改的状态对另一个线程是可见的。也...
2020-03-23 07:43:51
341
原创 BlockingQueue
今天我们来认识一下BlockingQueue,获取学习资料添加qq:1184905186什么是BlockingQueue?BlockingQueue即阻塞队列,从阻塞这个词可以看出,在某些情况下对阻塞队列的访问可能会造成阻塞。被阻塞的情况主要有如下两种:当队列满了的时候进行入队列操作当队列空了的时候进行出队列操作因此,当一个线程试图对一个已经满了的队列进行入队列操作时,它将会被阻塞,除...
2020-03-22 18:42:54
858
原创 认识Condition
今天我们来学习一下Condition(身份)Condition是在Java 1.5中才出现的,它用来替代传统的Object的wait()、notify()实现线程间的协作,相比使用Object的wait()、notify(),使用Condition1的await()、signal()这种方式实现线程间协作更加安全和高效。&n...
2020-03-22 16:06:55
478
原创 Lock与Synchronized的比较
一.Lock锁和Synchronized锁的比较synchronized是java中的一个关键字,已经有它控制线程了 为什么还需要lock?如果一个代码块被synchronized修饰了,当一个线程获取了对应的锁,并执行该代码块时,其他线程便只能一直等待,等待获取锁的线程释放锁,而这里获取锁的线程释放锁只会有两种情况: 1)获取锁的线程执行完了该代码块,然后线程释放对锁的占有; 2)...
2020-03-22 10:29:03
598
原创 大话Iterator
我们做集合相关的内容时 必不可少的是会遇到 Iterator这个单词 。今天我们来看一下它是什么?一.IteratorIterator专门为遍历集合而生,集合并没有提供专门的遍历的方法Iterator实际上迭代器设计模式的实现Iterator的常用方法boolean hasNext(): 判断是否存在另一个可访问的元素Object n...
2020-03-21 19:52:57
331
原创 如何判定一个对象是否应该回收?以及CMS垃圾回收器和G1收集器的特点
前文我们聊了垃圾回收的算法,那么我们现在来看一下,如何判定一个对象时垃圾。举个例子Person p = new Person();p = null;//此时的p是不是已经是一个垃圾 为了解决循环引用的问题,java中采取了正向...
2020-03-21 10:41:37
576
原创 垃圾回收算法有哪些?
在学习面向对象时大家肯定知道GC,我们都知道无用的变量就是垃圾,那么该何时回收,怎么回收呢,我们今天来看一下。标记清除标记-清除算法将垃圾回收分为两个阶段:标记阶段和清除阶段。在标记阶段首先通过根节点(GC Roots),标记所有从根节点开始的对象,未被标记的对象就是未被引用的垃圾对象。在清除阶段,清除所有未被标记的对...
2020-03-21 10:02:52
516
1
原创 多线程数据共享之卖票问题
来看一道经典的多线程问题,多个售票窗口卖票:涉及到线程的创建,资源的掠夺,语法新特性等等。ps:使用了jdk8的新特性 不懂请 看jdk8新特性欢迎点赞关注:qq: 1184905186public class ThreadTest03 { public static void main(String[] args) { TicketWindow ticketWind...
2020-03-20 20:16:14
375
1
原创 多线程数据共享带来的问题以及解决方案
小故事老王(操作系统)有一个功能强大的算盘(CPU),现在想把它租出去,赚一点外快小男、小女(线程)来使用这个算盘来进行一些计算,并按照时间给老王支付费用但小男不能一天24小时使用算盘,他经常要小憩一会(sleep),又或是去吃饭上厕所(阻塞 io 操作),有时还需要一根烟,没烟时思路全无(wait)这些情况统称为(阻塞)在这些时候,算盘没利用起来(不能收钱了),老王觉得有点不划算...
2020-03-20 18:33:30
1767
原创 查看进程线程的方法
大量的进程运行时,会导致电脑卡顿,最高效的方式是重启电脑。但是 还要重头再启动很多的软件和服务,如何精确定位哪个进程的那一条线程?ps:获取学习资料 添加qq: 1184905186windows任务管理器可以查看进程和线程数,也可以用来杀死进程tasklist 查看进程taskkill 杀死进程举个例子:linuxps -fe 查看所有进程ps -fT -p 查看某个...
2020-03-20 10:44:41
1271
原创 数据库中的BTree和B+Tree
B+树索引是B+树在数据库中的一种实现,是最常见也是数据库中使用最为频繁的一种索引。B+树中的B代表平衡(balance),而不是二叉(binary),因为B+树是从最早的平衡二叉树演化而来的。在讲B+树之前必须先了解二叉查找树、平衡二叉树(AVLTree)和平衡多路查找树(B-Tree),B+树即由这些树逐步优化而来。二叉...
2020-03-19 09:20:16
1218
原创 Zookeeper小解
我们做过solr集群 也做过服务的分布式部署。那么肯定会接触过zookeeper这个词。乍一看我们好像知道它是什么,但是仔细一回忆又好像什么都不清楚。今天,我们来一起聊一下zookeeper。如果对你有帮助,可以点个关注,遇到代码的bug,或者想要学习资料可以添加我的qq 1184905186 一、 ZooKe...
2020-03-18 19:26:13
318
原创 Spring Boot读取配置的几种方式
当大家看到这篇博客的时候 ,相信已经对SpringBoot有了简单的了解。也看过很多人的demo,但是会发现 不同的程序员 在获取配置信息时 使用的方式不一样,不免会搞得一头雾水,下面我们来一起看一下 具体有哪些方式。1.读取application文件在application.yml或者properties文件中添加:info.addr...
2020-03-17 16:02:08
295
原创 Dubbo常见问题及解决方案
1、Dubbo是什么?Dubbo是阿里巴巴开源的基于 Java 的高性能 RPC 分布式服务框架,现已成为 Apache 基金会孵化项目。官网:http://dubbo.apache.org2、为什么要用Dubbo?Dubbo是阿里开源项目,国内很多互联网公司都在用,已经经过很多线上考验。内部使用了 Netty、Zookeeper,保证了高性能高可用性。使用 Dubbo 可以将核...
2020-03-17 14:45:41
1362
原创 Redis常见问题及解决方案
1.Redis 持久化机制 Redis是一个支持持久化的内存数据库,通过持久化机制把内存中的数据同步到硬盘文件来保证数据持久化。当Redis重启后通过把硬盘文件重新加载到内存,就能达到恢复数据的目的。 实现:单独创建fork()一个子进程,将当前父进程的数据库数据复制到子进程的内存中,然后由...
2020-03-17 09:08:44
3803
原创 SpringMVC中的拦截器
1.过滤器和拦截器的对比过滤器: 应该实现Filter接口, 重写三个方法(init, doFilter, destroy), 过滤器还必须进行配置(web.xml)才能使用. 过滤器针对servlet进行请求拦截.拦截器: 需要实现HandlerInterceptor接口或继承HandlerInterceptorAdapter类. 需要操作的方法有三个(preHandle, postHan...
2020-03-15 11:17:59
231
原创 SpringMVC实现ajax操作 DateTimeFormat格式化日期属性
1.ajax复习a)ajax是一种能够进行局部页面刷新的艺术. 变同步操作为异步操作.b)原生ajax操作的步骤:创建对象XmlHttpRequest.监听事件onreadystatechange准备请求, 调用open方法发送请求, 调用send方法接收响应内容, responseText来接收响应文本信息c)jquery对ajax的支持:$.ajax({}), url,...
2020-03-15 11:09:42
527
原创 SpringMVC实现文件上传
1.文件上传的前提需要导包: commons-fileupload.jar, commons-io.jar需要提供上传文件的表单域: <input type=”file”name=”” />表单的提交方式必须是post方式表单的enctype属性必须是multipart/form-data2.使用SpringMVC进行文件上传 &nbs...
2020-03-15 11:03:55
310
mybatis.zip
2019-05-16
js排序算法动态展示
2019-03-18
省市县3级联动sql
2018-02-07
java反编译软件
2017-02-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人