自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(42)
  • 收藏
  • 关注

原创 synchronized解决继承方式的线程安全问题

JAVA中使用synchronized

2022-06-19 23:15:22 318 1

原创 同步代码块处理线程的安全问题(实现Runnable接口)

实现Runnable的接口创建多线程考虑线程的安全性的问题

2022-06-15 08:49:36 231 1

原创 JAVA中的多线程的创建(实现Runnable接口的方法)

实现Runnable接口的方法创建线程

2022-06-14 23:03:03 196

原创 JAVA中的多线程的创建(继承Thread方式创建)

关于JAVA中多线程的创建,使用继承Thread的方式进行创建。

2022-04-07 22:28:51 615

原创 JAVA中的内部类

关于JAVA中的内部类内部类可以有存在属性、方法、构造器可以被final修饰可以被abstract修饰可以调用外部类的属性和方法声明一个People类,在People中进行声明其他类,比如Dog类和Bird类。public class People { public int Age; public String Name; public void eat(){ System.out.println("人吃饭"); } public c

2022-04-06 17:12:33 513

原创 JAVA中的代理模式(静态代理)

关于JAVA中的静态代理模式

2022-04-02 18:58:03 616

原创 JAVA中的接口interface关键字

关于JAVA中的接口的一些整理

2022-04-02 11:06:06 2017

原创 JAVA中的模版设计模式

JAVA中的模版设计模式:概述:需要实现的功能,有一部分是确定的了,但是有一部分功能是不确定的,可以把不确定的功能暴露出去,让子类去实现。需要用到 抽象和继承那块的知识。我们可以把不确定的功能在父类中写成抽象方法。⭐️⭐️⭐️⭐️⭐️⭐️写一个关于模版设计模式的例子吧!⭐️⭐️⭐️⭐️⭐️⭐️先做一下前提,每个人都要吃饭,吃完饭都要散步,但是具体吃什么东西,要根据不同的人来区分。那么也就是,我们每个人都有吃饭和散步的动作,这两个方法是确定的;但是具体吃什么东西是不确定的,可以把吃什么东西这个动作

2022-03-30 22:04:00 248

原创 JAVA中的抽象类和抽象方法

JAVA中的抽象类和抽象方法:将一个类设计的非常抽象,以至于它没有具体的实例,这样的类叫做抽象类有一个关键字 abstract,关键字abstract 修饰的类叫做抽象类,修饰的方法为抽象方法。不能用来修饰属性、构造器。abstract不能修饰私有方法、静态方法,final修饰的方法(因为final修饰的方法不能被重写)抽象类:💪💪☆☆☆☆☆抽象类不能被实例化☆☆☆☆☆☆☆☆声明一个抽象类:AbstractTestpublic abstract class AbstractTest {

2022-03-30 16:47:40 1259

原创 JAVA中的final关键字

final修饰的类,不能被其他类继承。final修饰的方法,不能被重写。final修饰的变量,实际上为常量,只能在声明类中进行赋值,可以赋值的操作有 声明时候进行赋值;构造器中进行赋值;代码块中进行赋值。final修饰局部变量,以及形参

2022-03-30 14:34:41 68

原创 JAVA中的单例设计模式

JAVA中的单例设计模式:采用一些方法,在整个软件系统中,这个类只能存在一个实例。JAVA中的单例模式存在两种形式:1. 饿汉式2. 懒汉式饿汉式单例模式的实现我们声明了一个People类:第一步:需要私有化这个类的构造器,用private修饰之后,在main方法中式没办法去创建这个People类的对象的。第二步:我们在在这个类中自己去创建这个类的对象。第三步:要提供公共的方法,在main函数中能进行调用这个方法,返回这个类的对象。要主要使用static关键字,静态方法可以使用静态属性和静态

2022-03-29 21:05:50 546 1

原创 JAVA中Integer的注意事项

Integer面试常见的题

2022-03-28 17:30:09 1064

原创 JAVA中equals和==的区别

先说“==”“” 是一个常用运算符,在比较中经常用到,基本数据类型的用“==”进行比较的时候,看的值是不是相同;忽略数据类型,只看数值,布尔类型的不能和其他基本数据类型进行比较。引用数据类型使用 “==”是比较的内存中的地址值是否一致基本数据类型的比较:写出所有的基本数据类型,进行比较,即可。在基本数据类型使用 == “”时候,只是比较了数值是否一样,忽略了类型的不同。 其中要注意char类型的特殊情况,比如:char a ='A';int b=65;System.out.prin

2022-03-28 09:48:37 386

原创 JAVA中多态的理解

JAVA中多态的理解以及使用。

2022-03-24 21:44:32 4752

原创 JAVA中的super关键字

JAVA中Super关键字详解

2022-03-24 15:48:15 1296

原创 JAVA中方法的重载与重写

方法的重写概念:方法的重写就是子类集成父类之后,可以对父类的同名,同参数的方法进行覆盖。在子类对象调用该方法的时候,用的是子类方法中重写的逻辑。父类对象调用的时候,就是父类方法自己的逻辑。我们可以新建两个类,一个People类,一个Student类,Student类 extends People类。people类中有eat()方法:Student中也有eat()方法,并且对People类中的eat方法实现了重写。再调用eat方法的时候,如果对象是Student,那么执行的就是Student类中

2022-03-23 17:02:49 1649

原创 关于JAVA中的可变形参(多个参数)

JAVA可变形参的一些研究

2022-03-15 16:22:47 9515

原创 mysql 8.0报错1045

8.0以上版本的mysql在线安装,用navicat链接报错1045第一步:windows cmd 命令到mysql 安装路径下 bin文件夹下 cd /d 你的mysql安装路径,要找到bin文件夹下第二步:输入mysqld --initialize --console 等待自动把密码打印出来。红色标示就是密码第三步:复制这个打印出来的密码,注意不要复制空白格,只复制密码部分。第四步:登录mysql,再打开一个cmd命令窗口,输入mysql -u root -p

2022-01-04 09:15:46 3498 2

原创 CVE-2021-3156 Sudo

CVE-2021-3156 Sudo 漏洞的解决方案这个漏洞有10多年了,最近刚公布解决方案。主要是linux的sudo需要升级到 1.9.5p2第一步 先根据版本号下载:centos 5:https://github.com/sudo-project/sudo/releases/download/SUDO_1_9_5p2/sudo-1.9.5-3.el5.x86_64.rpmcentos 6 :https://github.com/sudo-project/sudo/releases/dow

2021-02-02 23:51:43 222

原创 java中的DataOutputStream和DataInputStream解析

java中的IO体系统中DataOutputStream能够将各种类型的JAVA数据转换为byte字节帮你去写入,传入一个FileOutputStream的对象。 String url = "/Users/zhangguan/Downloads/file/未命名2.txt"; DataOutputStream ds = new DataOutputStream(new FileOutputStream(url, true)); ds.writeInt(12);

2021-01-19 21:32:36 4512

原创 C#linq中的any方法解析

Linq中的any方法有那两个重载any()的方法主要功能是:判断是否为空、是否存在元素满足指定的条件。any()空参的方法作用:判断目标是否为空、是否包含元素。 //声明一个int类型的数组 int[] intA = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; //判断数组是否为空 bool resultA = intA.Any(); Console.Write

2021-01-18 18:58:01 11501

原创 C#linq中的all方法

All()方法的定义确定是否对序列中的所有元素都满足条件。返回一个bool类型。关于返回值为啥是bool,可以看一下关于Func的解读。 //声明一个int类型的数组 int[] ints = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; //判断数组的每一个值是否都小于11 bool zc = ints.All(a => {

2021-01-18 18:09:21 3109 1

原创 C#中Linq的使用Aggregate

在处理一些集合、数组、泛型集合的时候都是遍历进行操作,现在想想真的觉得太垃圾了,有更简单的方法为什么不总结一下那?微软的官方文档地址,可以好好研究一下微软关于linq命名空间下的方法集合关于Enumerable类此类中的方法提供了标准查询运算符的实现,用于查询实现的数据源 IEnumerable 。 标准查询运算符是遵循模式的常规用途方法, LINQ 使您能够对任何中的数据进行遍历、筛选和查找操作。此类中的大多数方法都定义为扩展方法 IEnumerable 。 这意味着,可以像调用实现的任何对象上

2021-01-18 17:25:37 1220

原创 java中io常用的工具

java中io体系常用的工具文件管理创建文件夹删除文件从文件中进行筛选文件的读写 input和outputFileInputStream 文件输入流拿到文件的字符拿到文件的数据(一个一个字节)拿到文件的数据(一次性读出来)java中常用的io工具,具体可以分为:文件管理和文件内容管理、以及网络IO,逐条说一下常用的方法。下面的文件用的是txt文件,里面写的都是英文。文件管理创建文件夹使用file.mkdir()方法创建一个名为file学习文件夹的文件夹。创建文件有两个方法,区别是:file.m

2021-01-17 21:43:48 514

原创 Collections.sort方法解析

Collections.sort方法的解析Collections.sort() 方法一共两个重载:先说只有一个参数的方法Collections.sort(List list);该方法传入一个泛型集合。实现自动排序,默认是按照升序进行排列的。我定义了一个int类型的list集合,来进行排序,运行结果如下图所示:可以看出按照升序进行排序了。现在开始使用Collections.sort()方法进行降序排列。此时需要使用含有两个参数的重载:实现代码如下图所示:使用含有两个参数的重载,使用第

2021-01-16 23:11:00 11446 1

原创 java中构造方法、静态代码块、普通代码块、的执行顺序

java中构造方法、静态代码块、代码块、的执行顺序Java中的类测试顺序Java中的类类中存在属性、普通方法、构造方法、普通代码块、静态代码块。在编译期间JVM会怎么处理代码,那些代码会先执行。做了一个测试进行比较。先说一下普通代码块。就是在java类中用{},进行包裹的函数代码。例如:静态代码块:就是用static关键字进行修饰的代码块。构造函数:这个应该不用过多的去说,构造函数,每次实例化一个类都会调用的方法,写法是public 类名(){} ,如果不写的化,系统默认是使用无参数的构造函

2021-01-14 20:39:30 140

原创 java中的compareToIgnoreCase和compareTo的区别

java中比较String字符串的两个方法,compareTo()和compareToIgnoreCase()第一个方法compareTo():两个String进行比较,按照顺序进行比较,返回值是两个String的ASCII码的值。如果返回是数字0的话,说明两个String字符串一样。第二个方法compareToIgnoreCase():在比较的时候忽略大小写,也是按照顺序进行比较。返回两个String类型的字符串的值。...

2021-01-14 17:32:08 1624

原创 rsa public key not find

Navicat Premium 15 用注册机注册的时候 报错 rsa public key not find第一步先不要打开 Navicat ,先打开注册机第二步:点击path 找到你的Navicat启动的exe,安装路径的exe,选中Navicat.exe,点击打开。第三步:稍等打开后,手动打开 Navicat 软件,进入激活界面后,点击注册机的Generate第四步: 点击手动注册,然后先点击Copy 再点击 paste ,将那一串代码,输入到 DeFconX 下第五步点击最后一

2020-12-24 21:41:50 123957 21

原创 mysql root 密码登陆报错1045

MySQL8.0.21 root 密码登陆不入-ERROR 1045(28000) Access denied for user ‘root’@‘localhost’ (using password YES)如果你的目标机器是第一次安装mysql8.0.21出现该问题的话,可以用下面的方法解决,修改root的登录密码。如果你忘记了mysql的登录密码也可以用这个方法解决问题。第一步(1)打开Windows的DOS窗口,管理员模式运行。切换至MySQL的安装目录下的bin目录。按一下回车(2)停止m

2020-10-22 16:26:22 1251 9

原创 mysql查询本年本月本周的数据

mysql查询本年本月的数据查询本年本月的数据的语句如下:平时还是需要积累一下sql的写法,一条好的sql能减少很多代码量。查询本年度,本年度各个月的数据,需要使用mysql的一些方法。SELECT time, count(*) AS sums,dbName,MONTH(time) createTime FROM useractivityrecord where YEAR(time)=YEAR(NOW()) GROUP BY MONTH(time),dbName ORDER BY MONTH(tim

2020-10-15 21:17:45 381

原创 C#MVC处理前端特殊字符的方法

C#MVC处理前端特殊字符的方法]官方给出的解决方案是使用@HTML.Raw();

2020-10-15 21:09:04 825

原创 js中的let和var的区别

js种的let和var可以用在声明变量的情况使用。在使用过程中的区别如下:1:var 可以先用,后定义。可以被重复定义。let必须先定义,后使用,不能被重复定义。2:作用域上来说:作用域不一样,var是函数作用域,而let是块作用域,也就是说,在函数内声明了var,整个函数内都是有效的,比如说在for循环内定义了一个var变量,实际上其在for循环以外也是可以访问的,而let由于是块作用域,所以如果在块作用域内(比如说for循环内)定义的变量,在其外面是不可被访问的,所以let用在for (let i

2020-09-25 17:17:02 465 1

原创 MySQL分页查询效率

MySQL分页查询mysql的分页查询需要用到关键字 limit ,limit其实是mysql给的一个函数,就像是count(*)求和一样的函数,可以传入参数使用。LIMIT 可以被用于强制 SELECT 语句返回指定的记录数。LIMIT 接受一个或两个数字参数。参数必须是一个整数常量。如果给定两个参数,第一个参数指定第一个返回记录行的偏移量,第二个参数指定返回记录行的最大数目。初始记录行的偏移量是 0(而不是 1)使用limit进行分页查询第一种情况,只传一个参数:SELECT * FROM

2020-09-15 16:54:27 729

原创 mysql设置时间自动写入

将时间字段设置为由数据库自动填写的方式如下:用Navicat创建表1:先将时间字段类型设置为 timestamp 类型2:将上图下面的默认改为 CURRENT_TIMESTAMP ,如果没有的话,可以先建库,然后导出库结构,打开存储的库结构,将 CURRENT_TIMESTAMP(0)加上。然后再导入新改好的sql表。...

2020-08-27 10:56:12 1024

原创 user ‘root‘ using method ‘mysql_native_password‘ failed with message: Reading from the stream has

连接Mysql5.6以上的版本的数据库出现报错:Authentication to host ‘ip’ for user ‘root’ using method ‘mysql_native_password’ failed with message: Reading from the stream has failed.不是每次都报,偶尔报错。最终在Mysql官网的bug提交区发现已经有人也遇到同样的问题并给出了解决方案,引起此错误的主要原因是在Mysql5.7版本中引入了SSL验证方式,如果不需要用到

2020-08-13 16:55:52 6165 1

原创 5分钟离线安装MySql8.0.21

MySql的8.0.21版本安装过程如下,在官网下载MySql链接如下:下载地址,下载mysql下载后解压~第一步解压后,有7个文件夹,如下图所示:在解压后的文件夹中新建一个记事本文件,然后将记事本文件命名为my.ini 文件的格式是ini文件。完成后如图:如果你的文件格式没有更改,在个人PC的话点击当前窗口的查看勾选上 文件拓展名如果是服务器的话需要 在解压文件夹的窗口,点击组织,然后点击文件夹和搜索选项,然后点击查看取消勾选 隐藏已知文件的拓展名 。第二步将my.ini文件补充

2020-08-11 14:30:01 392 1

原创 C#不知道拓展名的情况下找到文件

不知道拓展名,只知道了文件所在文件夹的路径,或者文件夹的名字。知道想要找的文件的名字。就可以返回文件的整个路径加后缀名。方便拿到文件,但是实际上也是遍历拿到的,会消耗内存,不是很可取的方法。代码如下:知道文件所在文件夹的名字,可以用Server.MapPath("文件夹的名称");该方法返回一个文件夹所在的路径。查找无后缀名的文件用下面的方法 Directory.GetFiles("目标文件所在文件夹路径",“文件名”+“*.*”,SearchOption.AllDirectories),返回一个

2020-07-31 10:02:47 209

原创 form提交参数乱码问题

form提交参数乱码问题form提交参数乱码问题调用submit方法提交,后台是springMVC的Controller接收请求,结果得到的参数值都是乱码。 解决方法:为form表单再设置一个属性 enctype=‘mutipart/form-data’ ,此时后台接收到的值就没有乱码了。 分析如下:enctype属性如果不设置,默认是“application/x-www-form-urlencoded”,该选项是告诉浏览器默认使用URL编码(就是字符流)的形式发送请求,而‘mutip

2020-07-28 10:14:28 1036 1

原创 使用JSON数据格式进行前后端交互

在web开发中很多场景都使用了json数据格式进行前后端交互,json使用场景太多了,每个开发者都会遇到。感觉做web前端的东西真的很重要!在json数据和json对象相互转化,最好使用Newtonsoft.Json,常用的两种方法,第一个是将对象序列化为json...

2019-11-20 16:05:06 3197

原创 jQuery中的选择器(二)

jQuery选择器第二弹

2019-11-02 21:50:27 174

空空如也

空空如也

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

TA关注的人

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