自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(124)
  • 问答 (1)
  • 收藏
  • 关注

原创 联想小新系列win10系统使用IDEA经常闪退,蓝屏,死机,饱受折磨

经历介绍:七月份换了电脑,联想小新系列的,官网下载了IDEA2020 1.3版本,安装后网上搜了一个破解工具成功激活了,但是没两天一直出现bug。刚开始偶尔出现蓝屏,没在意,问了问其他人说轻薄本性能就不好,就一直暗骂电脑垃圾,后来越来越频繁,隔一天就蓝屏或死机,再后来每天都会有。这下慌了,后来发现每次都是运行IDEA时会死机或者蓝屏重启。刚买没几天的电脑,很郁闷,就去问售后,售后说可能是系统问题建议重置系统,我犹豫了,,,然后问同学说他有时候蓝屏,用360修复后就就好了,我犹豫了,不太想安装360了

2020-12-23 14:57:33 10662 74

原创 IDEA创建springboot项目:Unable to import maven project: See logs for details

Bug介绍:之前用的IDEA2020,然后使用的maven3.6.3,后来IDEA换为了2017.3.6,今天创建项目时居然一直报错Unable to import maven project: See logs for details,各种试都不行!首先是pom文件部分爆红,通过项目下maven的Lifecycle的clean和install把pom文件中jar下载不了解决了,然后出现的是SpringBoot中所有注解都失效,Reimport这些功能怎么点都是报这句错!问题解决:打开日志文

2020-11-02 16:43:52 615

原创 JDBC连接mysql、创建表、操作数据、PreparedStatement防注入、sql语句返回值类型知识汇总

JDBC连接过程:import java.sql.*;/** * Description: * Created by CWG on 2020/10/29 21:05 */public class ConnectionTest { public static void main(String[] args){ String user = "root"; String password = "cheng"; String url = "jd

2020-10-31 11:32:36 979 2

原创 Java泛型失效的两种情况

反射失效:import java.lang.reflect.Method;import java.util.ArrayList;public class IgnoreGeneric { public static void main(String[] args) throws Exception { ArrayList<Integer> list = new ArrayList<>(); list.add(2); li

2020-10-27 21:47:48 1245

原创 并发下HashMap头插会造成死循环情况说明

说明:JDK1.8之前采用头插,即在链表结构上每次都把数据放在链表头部。JDK1.8采用尾插方法并发头插死循环问题:比如有两个线程同时进行rehash,要将链表进行重新排列rehash前链表结构为:A --> B线程1进行操作:遍历原链表,首先获得节点A,操作挂起,线程2进入。(线程1数据不会提交)线程2进行操作:遍历原链表,以头插方式遍历执行,执行完成 B – > A。(线程2数据未提交)线程1继续执行:遍历原链表,头插方式执行,完成 B – > A,此时线程2数据

2020-10-21 16:50:33 1788 1

原创 Java异常中受检异常&非受检异常与RuntimeException异常关系

Error 和 Exception:所有异常都是 Throwable 的子类,分为 Error 和 Exception。Error 是 Java 运行时系统的内部错误和资源耗尽错误,例如 StackOverFlowError 和 OutOfMemoryError,这种异常程序无法处理。Exception异常中主要包含IOException与 RuntimeException,并不只是这两种,这两种占比较大,其他还有像InterruptedException与ClassNotFoundExceptio

2020-10-14 20:22:40 1050

原创 VMware虚拟机中调用本机摄像头详解

本机环境:虚拟机:VMware Workstation 16 Player虚拟机内系统:Centos7(其它也ok的)本机:win10(任何系统都ok)调用本机摄像头:首先wins+R输入services.msc 打开本地服务列表,确保 VMware USB Arbitration Service服务开启打开VMware ,依次进入虚拟机设置USB兼容性选择3.1开机进入linux系统,此时可以进行camera连接,选择与主机连接打开终端,下载安装cheese和webcam

2020-10-13 22:11:36 48466 5

原创 vim设置显示行号,vim跳转到文件头,文件尾

设置行号:当前文件有效:vim打开文件,输入:set number 或者 :set nu 开启,输入:set nonumber 或者 :set nonu 取消系统范围内:终端输入 vim ~/.vimrc ,在配置文件输入set number 或者 set nu ,输入 :wq 退出保存即可跳转头尾:跳转文件头::1 (123的1)跳转文件尾::$参考:[https://jingyan.baidu.com/article/908080220bedeafd91c80fee.ht

2020-10-10 10:10:32 267

原创 Xshell分屏显示

打开选项卡排列:前三个都欧克的,第四个恢复默认状态

2020-10-09 15:00:51 3160 2

原创 Vim取消查找后的高亮提示,:nohl或者:noh什么的都不管用,来一个简单粗暴方法

查找一个文件中不存在的字符串

2020-10-08 16:18:18 1075 2

原创 linux下将只读文件改为可读可写

将myredis文件夹下的redis.conf文件改为可读可写chmod 666 /myredis/redis.conf

2020-10-08 10:52:20 14119 2

原创 XShell中浏览文件时上拉下拉

单行滚动:↑ 键 ↓ 键,或者enter下翻单页滚屏:Page Up/Down(若与上下键共用一个键,则需Fn + Page Up/Down)

2020-10-08 10:49:48 932

原创 窗口不小心拉到任务栏下面,窗口无法拖回桌面的解决办法

右键任务栏空白处,取消锁定任务栏任务栏往上拉,之前的窗口就会出来了然后再把任务栏恢复

2020-10-06 10:23:08 14208

原创 SQLyog连接虚拟机中docker中的mysql过程详解,并解决2003错误

docker中安装启动mysql:获取镜像docker pull mysql:5.7启动并创建mysql容器docker run -d -p 3306:3306 -v /home/mysql/conf:/etc/mysql/conf.d -v /home/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name mysql01 mysql:5.7 【解释】-d 后台运行, -p端口映射(主机端口:容器中mysql端口), -v卷

2020-10-05 21:09:43 2531

原创 “docker exec“ requires at least 2 arguments. See ‘docker exec --help‘.

使用docker exec -it 5de31a13f002 命令进入一个mysql容器时,报错[root@centos7 cwg]# docker exec -it 5de31a13f002"docker exec" requires at least 2 arguments.See 'docker exec --help'.Usage: docker exec [OPTIONS] CONTAINER COMMAND [ARG...]Run a command in a running c

2020-10-05 19:31:17 18650 1

原创 Xshell下退出vim命令

跟着网上教程去给普通用户添加root权限,进入了一个vim /etc/sudoers命令,文件倒是编辑好了,可是找不到如何保存并退出这个界面网上一直说按ESC,然后wq就可以保存,我按ESC一直没反应,只有windows的叮咚提示音翻了许久看见一个解决办法,在这个文件最后一行,直接键盘上输入:(也就是shift + ;这俩键)4. 这时就会发现可以进行命令输入了,下次打开文件修改地方也保存了参考:https://blog.csdn.net/wy_1997/article/details/83.

2020-09-28 10:10:53 4426

原创 win10家庭版安装docker(DockerToolbox)及问题解决

所需文件:安装所需文件全在这了,下边需要的就不用下了链接:https://pan.baidu.com/s/1fUhJgG7Rw1GkT–cjpAYEw 提取码:6666先看安装要求:版本要求: 专业版、企业版、教育版操作系统版本号需要16299及以上,而我们的家庭版则需要版本号2004及以上,edge版则需要1903版及以上(edge版就是beta版,不如前者稳定,更新较快),这里选择安装稳定版,但是本机电脑版本不够,所以只能选择安装Docker Toolbox确保虚拟化开启下载安装

2020-09-26 13:14:51 414

原创 Java数组与List 相互转换方法详解

数组转List:通过遍历赋值就不说了通过Arrays.asList() 与 Collections.addAll()方法public static void main(String[] args) throws Exception { Integer[] arr = {1, 2, 3, 4, 5}; List<Integer> list = Arrays.asList(arr); System.out.println("通过Arrays.asList(

2020-09-22 10:29:33 287

原创 java枚举类使用 == 还是equals来进行比较

相同之处当我们对对象进行比较时通常用重写过的equals来进行比较,因为 == 比较的是对象的地址。而对于Enum来说,二者皆可拿来进行比较运算,简单示例:public enum Season0 { SPRING,SUMMER,AUTUMN,WINTER}public enum Season1 { SPRING,SUMMER,AUTUMN,WINTER}public class enum_tset { public static void main(String[

2020-09-16 20:13:13 2737

原创 win10时间同步一直失败的解决办法

直接在设置里边点击同步时间一直失败,这是因为默认的同步时间服务器连接不上,换另一个同步服务器即可控制面板中打开,时钟和区域,按图中依次打开后,将默认时间同步服务器改为time.nist.gov,然后立即更新即可。...

2020-09-13 08:31:20 8239

原创 关于Integer.MAX_VALUE + 1 = Integer.MIN_VALUE 问题

1、负数二进制表示由于计算机中数据都以二进制表示,而负数的二级制是根据正数二进制取补码(补码就是先取反码,然后加1)得到,如:一个int 类型的数值为5,其长度为32位,二进制表示为00000000 00000000 00000000 00000101-5是根据5的二进制表示每一位先取反码(0变1,1变0)得到11111111 11111111 11111111 11111010再对反码加1,得到-5的二进制表示11111111 11111111 11111111 111110112、

2020-09-11 11:20:11 3377 1

原创 String的concat方法与join方法

String的concat方法对当前字符串追加字符串(concat只能追加字符串,+既可以追加字符串又可以追加字符、数字)@Testpublic void test(){ String s = "abc"; s = s.concat("def"); System.out.println(s); //abcdef}join方法,用某字符串来拼接字符串数组,使之拼为一个新的字符串@Testpublic void test(){ String[] str = .

2020-09-10 20:19:30 1104

原创 IDEA使用自带数据库连接工具连接Mysql,及报错解决

使用IDEA自带数据库连接功能连接mysql步骤:首先确保MySQL本地服务启动先在MySQL自带客户端下创建一个数据库添加按钮中选择DataSource,再选择添加MySQL驱动。选择自己下载的mysql connector jar包点击test报错:Connection to mysql@localhost failed.[08001] Could not create connection to database server. Attempted reconnec

2020-09-08 20:31:19 1393

原创 Atomic原子类常用方法总结(包含四大类型)

学习目标:提示:这里可以添加学习目标例如:一周掌握 Java 入门知识学习内容:提示:这里可以添加要学的内容例如:1、 搭建 Java 开发环境2、 掌握 Java 基本语法3、 掌握条件语句4、 掌握循环语句学习时间:提示:这里可以添加计划学习的时间例如:1、 周一至周五晚上 7 点—晚上9点2、 周六上午 9 点-上午 11 点3、 周日下午 3 点-下午 6 点学习产出:提示:这里统计学习计划的总量例如:1、 技术笔记 2 遍2、CSDN 技术博客 3 篇

2020-09-03 18:54:32 6065 1

原创 ThreadLocal两个简单示例

ThreadLocal作用:通常我们创建的变量可以被任一个线程访问并修改,如果想实现每一个线程都有自己专属本地变量时,该变量不受其他线程影响,此时可以使用ThreadLocal。ThreadLocal有三个常用方法,set()、get()、remove()。ThreadLocal<Integer> local = new ThreadLocal<>();事实上调用set()方法,是对当前线程进行赋值。而且当前线程的值保存在当前线程的ThreadLocalMap中,而不是

2020-09-02 20:56:36 1177

原创 synchronized修饰静态方法与实例方法

一、synchronized修饰实例方法:synchronized修饰实例方法,实际上是对调用该方法的对象加锁。场景1:同一实例对象在两个线程中分别调用该对象的两个同步实例方法public class Car { public synchronized void runing1(Thread thread){ System.out.println(thread.getName()+ " car1 得到锁"); System.out.println("------

2020-09-02 14:37:26 4771 1

原创 Java二维数组排序(按照某一列值大小)

利用Comparator接口来实现:二维数组排序,按照某一列列大小对数组进行排序。二维数组的排序直接调用Arrays.sort(); 虽然不会出现编译错误,但运行时会出现以下错误提示:说明不可以这样用,而我们又想对它排序,就可以使用Comparator来外部实现排序了,这里举一个按照第二列数字大小进行排序的例子:public class ArrayCompare { public static void main(String[] args) { int[][] a

2020-09-01 20:17:38 4942 4

原创 Comparable与Comparator用法详解

简介:Comparable接口出自java.lang包,它有一个compareTo(Object obj)方法用来比较或排序Comparator接口出自java.util包,它有一个compare(Object obj1、Object obj2)方法用来排序。当我们需要对集合进行自定义排序或对象之间进行比较时,就需要重写compareTo()或者compare()方法。Comparable:Comparable是一个对象支持自比较所需要实现的接口,如String、Integer自己就实现了Com

2020-09-01 20:04:51 1094

原创 IDEA手动添加jar包

该项目下,File —> Project Structure按照图中指示,来到Classpath下点击+号进行添加,可以选取我们Maven中的jar包,或者其他文件夹中下载好的jar包即可。

2020-09-01 10:49:11 1276

原创 java中 indexOf() 与lastIndexOf() 用法详解

indexOf()方法:直接上代码:String s = "01234560123456";int a = s.indexOf('1'); // 返回第一个字符1的下标int b = s.indexOf("23"); // 返回第一个字符串“23”的下标int c = s.indexOf('1',5); // 以下标5开始,返回第一个字符1的下标int d = s.indexOf("23",5); // 以下标5开始,返回第一个字符串“23”的下标System.out.println(a

2020-08-31 15:22:43 11236 2

原创 查看java源码时出现class文件而不是java文件,可能是因为java的安装路径下没有src.zip文件而是javafx-src.zip文件

情况说明:不是maven项目下的源码,就是普通java工程,比如查看System.arraycopy()源码,跳转的时是class文件,并且会提示Decompiled .class file, bytecode version:55.0(Java 8)问题解决:网上查了很多方法,说的深奥极了,也没找到有用的,不过也是有所启发,最终解决了,然后分享一下。首先查看我的java8 安装路径下,有一个javafx-src.zip压缩文件,而不是src.zip文件,这说明安装java8时 这些源码并没有

2020-08-31 14:16:45 2661

原创 为什么要用动态代理?静态代理与动态代理详解

代理模式:代理模式在Java中特别常见,如spring AOP功能就是用代理来实现的。代理模式作用是:在不修改被代理对象功能的基础上,通过对代理类进行扩展,进行一些功能上的附加与增强。一般使用代理模式我们需要先定义一个接口,静态代理只是一种简单的java代码功能扩展。而动态代理利用了反射机制,使用更简单,但背后逻辑…先说明一点,自动代理代理的是接口,而不是类,Proxy类产生的代理对象是Proxy的一个实例,这个实例实现了我们定义的接口静态代理:举一个黄牛代理买票的例子:public inter

2020-08-29 15:11:54 1948

原创 (Integer) 128 == (Integer) 128 为false详细解读

所学知识这里涉及到的知识点为Java的自动装箱、拆箱问题先看简单示例:第一组输出为true,第二组false,第三组false。第二组false很正常因为Integer对象地址不同,但为什么第一组与第三组结果不同,不是应该一样的吗? Integer a = 127; Integer b = 127; System.out.println(a == b); Integer c = new Integer(128); Integer d = new Integer(

2020-08-28 14:45:25 2001 1

原创 求只有2,3,5组成的第n小个数字

题目描述:快速计算出由2,3,5三个数字组成的由小到大的第n个数,包含2,3,5,22,33,55单个及重复数字一、暴力求解定义一个int number常量,从1开始搜索,如果是由2,3,5组成则加入数组中,一直找到第n个。 public static int findNumber01(int n){ if (n <= 0) { return -1; } int[] res = new int[n+1];

2020-08-28 10:48:23 678

原创 关闭切换大小写时桌面提示

最近突然发现每次切换大小写时都会有提示,如图找到了关闭的解决办法,关闭进程里面的 XXXXX Utility 进程就可以了,如果是联想电脑的话,就是LenovoUtility 这个进程关闭。其他电脑还可能是XXXXX OSD Utility进程,或者XXXXX OSD进程。虽然解决了显示提示问题,但这对于我而言并不是完美办法,我的是联想小新15,笔记本带有热键Fn+Q切换电脑模式,刚开始系统不会出现这个大小写转换提示,后来重置了系统,重置后Fn+Q键切换电脑模式就失效了,因此特意安装了Lenovo.

2020-08-24 21:52:00 15076 12

原创 Java中将List中的值赋给另一个List几种方法实现

Java中引用变量之间进行值传递不可以直接赋值,比如两个数组或者List通过a=b 来直接复制的话,b发生变化a也会改变,因为a,b指向同一地址。 List<Integer> a = new ArrayList<Integer>(){{add(1);add(2);add(3);}}; List<Integer> b = a; a.add(4); System.out.println(a.toString()); .

2020-08-19 21:46:59 19301 1

原创 IDEA突然自动关闭然后无法启动

突然自动关闭,再次尝试启动IDEA发现没反应(刚安装激活好的)刚开始以为激活工具有问题,后来发现并不是。为什么自动关闭不知道,但是如何让他再次启动呢看了网上说启动不了的解决办法,看到一个说是有IDEA进程未关闭,一般情况下IDEA不可以重复打开,所以再怎么双击他也没反应。我去任务管理器看了,进程——应用里边好像并没有IDEA在运行,刚开始以为也不是这种原因。最后发现还是有进程没有关闭,我是在任务管理器——详细信息里边看到有个IDEA进程,然后给他结束了,就可以了。...

2020-08-18 16:19:28 1694 2

原创 Mybatis的@Param注解作用

单个参数若无@Param注解,Blog getBlog(Long id);,mybatis中传入的变量名id 可以随便写 如#{0},#{id}, #{aaa} …如果带有注解 Blog getBlog(@Param("id") Long id);,则此时mybatis中传入的变量名id只能写成#{id},select b from t_blog b where b.id = #{id}多个参数若无注解,Blog getBlog(Long id,String name);, mybatis中传

2020-08-17 10:42:02 639

原创 Mybatis中的resultType与resultMap区别

都可以返回一种数据类型,比如String,Long,自定义的Person类等; MyBatis的每一个查询映射的返回类型都是ResultMap,只是当我们提供的返回类型属性是resultType的时候,MyBatis对自动的给我们把对应的值赋给resultType所指定对象的属性,而当我们提供的返回类型是resultMap的时候,Mybatis就会根据我们配置的信息做映射。 因此,当java中的属性与数据库中的字段不一致时,resultType就不能使用了。 此外.

2020-08-17 10:23:00 136

原创 IDEA查看某个类的某个方法或该类在哪里被调用 / 引用

1、方法的话鼠标定位到该方法名,右键Find Usages2、类的话,定位到文件夹下的类文件,右键Find Usages

2020-08-16 17:20:54 20097

空空如也

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

TA关注的人

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