自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 资源 (5)
  • 收藏
  • 关注

原创 Java的死锁问题

Java中的死锁问题是指两个或多个线程互相持有对方所需的资源,导致它们在等待对方释放资源时永久地阻塞的情况。

2024-06-18 00:14:20 339

原创 windows环境下,怎么查看本机的IP、MAC地址和端口占用情况

3.我们有时在启动应用程序的时候提示端口被占用,如何知道谁占有了我们需要的端口,输入netstat -ano,按回车,查看所有的端口占用情况。5.8001端口被进程号为15312的进程占用,继续执行下面命令:tasklist|findstr "15312" 查看对应的进程。4.查看指定端口的占用情况如8001端口,输入:netstat -aon|findstr "8001"即查看了包含IP地址,子码掩码,网关信息以及MAC地址。1.输入ipconfig,按回车。即查看了IP地址,子码掩码,网关信息。

2024-06-18 00:05:35 969

原创 SemaphoreDemo案例

当许可数量大于 1 时,多个线程可以同时访问临界区,但受许可数量的限制。是 Java 并发包中的一种同步工具,它主要用于控制同时访问特定资源或执行特定操作的线程数量。实例时设定的许可数量,可以控制同时允许多少个线程执行关键代码段或访问关键资源。当许可数量为 1 时,可以限制同时访问某一资源或执行某一操作的线程数量,通过设置信号量的计数器来实现控制。类似于锁的功能,但比锁更灵活,可以控制多个线程同时访问某个资源的数量。可以选择是否公平地分配许可,即先请求许可的线程将获得许可的优先权。有任何疑问,欢迎联系我。

2024-06-17 00:30:40 205

原创 CyclicBarrierDemo案例

是 Java 并发包中的一个同步辅助工具,它的作用是在多个线程之间创建一个同步点,只有当所有线程都到达了这个同步点时,才能继续执行后续操作。可以让多个线程在指定的同步点处等待,直到所有线程都到达同步点后才继续执行后续操作。可以用于将任务分解为多个阶段,并规定所有线程必须在每个阶段结束后等待其他线程,以确保整个过程按照规定的顺序进行。可以限制并发执行的线程数量,当达到指定的线程数后,所有线程才开始同时执行。时,需要先创建一个实例,并指定需要同步等待的线程数量。它已经到达了同步点,当所有线程都调用了。

2024-06-17 00:21:37 221

原创 CountDownLatch案例

(倒计时门闩)是Java并发编程中的一个同步工具,其作用是允许一个或多个线程等待其他线程完成操作后再继续执行。可以用于确保多个线程按照特定的顺序执行,其中一个线程可能要等待所有其他线程都完成某项任务后才能执行。可以通过设置超时时间,在等待过程中如果超过了指定的时间仍未完成,可以做出相应的处理。在主线程中启动多个子线程执行任务,主线程需要等待所有子线程完成后再进行后续操作。方法使得等待线程进入等待状态,而其他线程完成自己的任务后通过调用。方法递减计数器,当计数器减至零时,所有等待线程会被唤醒继续执行。

2024-06-17 00:11:15 161

原创 图片转字符串

废话不多说,直接上代码import java.io.*;import java.nio.file.Files;import java.nio.file.Paths;import java.util.List;import sun.misc.BASE64Decoder;import sun.misc.BASE64Encoder;public class Base64 { public static void main(String[] args) throws IOExcepti

2024-06-16 23:58:32 203

原创 Redis Cluster 为什么不支持传统的事务模型

传统的 Redis 单节点事务是通过 MULTI/EXEC 命令实现的,但 Redis Cluster 不支持跨节点的事务操作,这是由其架构特点决定的。通过在 Lua 脚本中执行多个命令,你可以将一系列操作封装在一个脚本中,以实现类似事务的行为。然而,这种方式不具备传统事务的严格 ACID 特性。因此,对于需要强一致性、事务支持的场景,你可能需要考虑使用单节点 Redis 的事务特性,或者探索其他解决方案,比如外部事务管理器或设计应用逻辑来适应 Redis Cluster 的分布式特性。

2024-06-16 23:32:00 559 1

原创 Another app is currently holding the yum lock; waiting for it to exit

Another app is currently holding the yum lock; waiting for it to exit

2022-11-11 12:51:33 475

原创 单例设计模式

单例设计模式

2022-11-09 10:30:02 323

原创 分布式事务的二阶段提交和三阶段提交

分布式事务

2022-11-07 17:26:33 1048

原创 为什么需要逻辑地址

内存逻辑地址

2022-11-07 14:38:14 1085

原创 IO多路复用 select/poll/epoll

IO多路复用 select/poll/epoll

2022-11-06 23:47:52 610

原创 https机制原理

https协议的原理

2022-11-03 22:54:28 419

原创 跨域解决方案

关于跨域问题的解决方案

2022-11-03 19:23:08 4238

原创 如何快速的编写一个简单的springboot项目,并访问mysql

目录1.新建一个springboot项目,选择Create new Project2.选择Spring initializr,再点击next3.把需要修改的信息修改后,点击下一步4.选择web——>Spring web,再点击下一步5.点击finish6.打开pom.xml文件,添加依赖7.新建controller,service,dao,entity类 Controller层 Service层 entity D...

2021-03-12 11:42:26 436

原创 zookeeper的分布式一致锁

zookeeper是一个分布式的协调服务,当多个服务器需要同时访问相同的共享资源时,为了数据的一致性或者缓解服务器的压力,可以采用zookeeper的分布式一致锁来解决这个问题。假如有三台服务器,每台服务器的系统启动的时候,可以在系统启动的时候,向zookeeper中注册一个锁lock,锁的类型为ephemeral_sequential,注册成功后,获取zookeeper中的所有锁,并注册监听...

2019-09-07 21:57:17 247

原创 zookeeper动态感知服务器的增加和减少

业务服务器经常会出现动态的增减,现在让客户端能够自动感知到服务端的在线服务器(此时的服务端和客户端都是Java程序,客户端可以是一个接口项目,负责转发前端的的请求和服务器的响应)首先看下图,在每台服务器中的系统中写一段逻辑,让系统启动的时候,向zookeeper中注册,客户端启动的时候,向zookeeper中注册监听:监听子节点的数量变化。服务端public c...

2019-09-07 21:22:53 496

原创 读取文件夹下最新的文件

Filepath=newFile("");//列出该目录下所有文件和文件夹File[]files=path.listFiles();//按照文件最后修改日期倒序排序Arrays.sort(files,newComparator<File>(){@Overridepublicintcompare(Filefile1,Filef...

2019-09-07 17:02:20 476

原创 关于zookeeper的一些想法

zookeeper是一个开源的分布式的,为分布式应用提供协调服务的apache项目。zookeeper从设计模式的角度来理解:是一个基于观察者模式设计的分布式服务管理框架,它负责存储和管理大家都关心的数据(每台机器都关心的),然后接受观察者的注册,一旦这些数据的状态发生了变化,zookeeper就将通知再zookeeper上注册了的那些观察者做出相应的反应,从而实现集群中累死master/sa...

2019-09-07 17:01:15 175

原创 zookeeper在Linux上的安装

zookeeper是一个分布式的协调服务,所以安装的时候也是安装在多个服务器上我首先准备了3虚拟机,分别是mini1,mini2,mini3采用的远程登陆软件是xshell6以及jdk1.7,zookeeper3.4.6首先安装好虚拟机后,配置三台机器之间的免密登陆可以查看https://mp.youkuaiyun.com/postedit/100596784配置好免密登陆后,服...

2019-09-07 15:41:53 214

原创 Linux配置免密登陆

比方说有三条机器,每次执行scp命令的时候,都需要输入被传输数据的机器的密码,为了省去输密码的时间,可以给每台机器设置免密登陆。server01的ip为192.168.177.11,server02的ip为192.168.177.12,server03的ip为192.168.177.13首先为server01设置免密登陆,执行命令ssh-keygen,然后回车到命令行然后输入...

2019-09-07 13:58:52 297

转载 redis的雪崩、穿透、和击穿

在网上看到一篇文章,关于redis的一道面试题,题目是“什么是redis的雪崩、穿透和击穿?redis崩溃之后会怎么样?”https://zhuanlan.zhihu.com/p/74880843以上是作者的源地址面试的过程中,可能会遇到缓存的问题,缓存雪崩和穿透,是缓存最大的两个问题,要么不出现,一旦出现就是致命性的问题,所以面试官一定会问你。缓存雪崩对于系...

2019-09-06 10:16:05 242

翻译 冒泡排序

本例中的默认顺序是从小到大的顺序冒泡排序算法运行起来非常慢,但在概念上它是排序算法中最简单的使用冒泡排序算法对数组元素排序冒泡排序的例程执行如下:从数组的最左边开始,比较索引0的位置元素和索引1的位置的元素。如果左边的元素大,就让两个元素交换位置;如果右边的元素大,就什么也不做。然后右移一个位置,比较索引1的位置的元素和索引2的元素,和刚才一样,如果左边的元素大,则两个元素交...

2019-07-29 23:43:04 197

原创 List集合在遍历时删除数据的问题

关于集合遍历时,删除数据可能会发生的一些问题首先创建一个含有20个Integer类型的元素的集合ArrayList<Integer> arrayList = new ArrayList<>();for (int i = 0; i < 20; i++) { arrayList.add(Integer.valueOf(i));}下面分几种...

2019-07-19 10:37:44 2932

原创 对字符串中的特殊字符进行校验

在后台接口中,未对请求参数进行校验,可能会造成跨站脚本攻击可以采用以下方法对请求参数进行校验public class SpecialChar { public static boolean check(String str) { if (str.isEmpty()) { return true; } S...

2019-07-15 18:26:03 1925

原创 用java代码获取Linux磁盘的空间大小

需求:系统定时输出数据到数据库,数据库所在的当前磁盘的容量已经所剩不多时,需要将数据库中的数据导出成excel格式的文件并将文件存入其他磁盘解决方案: File diskPartition = new File("/"); long usableSpace = diskPartition.getUsableSpace(); //可用剩余空间,单位为M usableSp...

2019-07-10 10:45:42 8291

原创 报错:No identifier specified for entity

在创建一个新类,给新类的id属性添加上@id即可

2019-06-26 10:36:53 483

转载 ArrayList的toArray()与toArray(Object[] a)

ArrayList提供了一个将list转为数组的方法toArray。toArray有两个重载的方法:toArray()toArray(Object[ ] a)toArray是将List直接转为Object[ ]数组第二个方法是将list转为所需要的数组,需要用的时候转为与list内容相同的类型。List list=new ArrayList(); for (int

2017-12-06 11:15:55 1018

转载 获取文件夹下最新修改的文件

File path=new File("");//列出该目录下所有文件和文件夹File[] files = path.listFiles();//按照文件最后修改日期倒序排序Arrays.sort(files, new Comparator() {   @Override   public int compare(File file1, File file2) {   

2017-12-06 10:52:26 1551

原创 卸载Linux自带的jdk

rpm -qa | grep java 查看自带的jdk的版本rpm -e +jdk版本 删除jdk接下来就是安装需要的jdk

2017-11-15 17:07:26 371

原创 navicat远程连接linux服务器的mysql

在远程服务器的登陆mysql,    mysql -u root -p执行命令grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option;(第一个root代表mysql的用户名,第二个root代表密码)grant all privileges on *.* to roo

2017-11-15 17:05:56 504

原创 创建maven项目,更改jdk编译版本

在pom.xml文件中,右键点击maven--->add plugin         org.apache.maven.plugins   maven-compiler-plugin   3.1      1.7   1.7   UTF-8 src/main/webapp/WEB-INF/lib      

2017-11-15 17:02:43 487

原创 关于在内部类中类名.this的使用

在看ArrayList的源码的时候,ArrayList中有一个实现了Iterator接口的内部类Itr,在内部类里,有两个elementData变量,一个是内部类的,昨天的是内部类的局部变量,右边的是ArrayList的全局变量,由于ArrayList的全局变量elementData与内部类中的elementData重名,所以内部类引用外部类的同名变量时,需要在外部类的全局变量前加上类名.

2017-11-15 16:48:05 1690

转载 Java的协变数组类型

语言设计中的困难之一就是如何处理集合类型的继承问题。假设Employee IS-A Person,那么,是不是意味着数据Employee[ ] IS-A Person[ ] 呢?换句话说,如果一个例程接受Person[ ] 作为参数,那么我们能不能把Employee[ ] 作为参数来传递呢?从表面上来看,似乎Employee[ ] 就应该是和Person[ ]类型兼容的。现在假设除

2017-11-14 21:41:52 1086 1

原创 java.lang.OutOfMemoryError: PermGen space的

debug代码的时候,eclipse的控制台突然出现异常信息,发现java.lang.OutOfMemoryError: PermGen space,内存溢出了在高人的指点下,详细看http://blog.youkuaiyun.com/fengyie007/article/details/1780375/ ,更改了tomcat的配置在tomcat/bin.catlina.bat的配置

2017-11-09 23:51:45 215

原创 关于eclipse自动补全的问题

最近把电脑重装系统,使用eclipse发现自动补全功能跟以前不太以前,alt+/ 不能马上显示相关的api,首先显示的是再alt+/ 显示的是再一次alt+/ 显示的是最后一次alt+/ 才显示出api后来查阅一些资料后,发现需要对eclipse进行一些配置进入Window

2017-11-09 23:19:01 363

原创 使用xstream将xml转换成java对象

现在有xml  123  男            篮球      足球      排球              篮球      足球      排球      现在需要将该xml转成boy对象,代码如下package test;import com.thoughtworks.xstrea

2017-11-07 20:48:24 762

原创 解决mysql启动时报The server quit without updating PID file 的错误

最近开发环境的服务器很卡,决定重启一下服务器,重启服务器后,开启mysql,执行service mysql start后,报错查询一下mysql的状态 mysql status开始网上查资料,很多人提到一个my.cnf的文件find / -name my.cnf找到刚文件又在网上差了很多方法,发现给这个文件夹设置权限,然后就可以了

2017-10-19 17:23:47 543

原创 读入一个自然数n,计算其各位数字之和

2017-10-19 13:17:21 7423 1

原创 HttpConnection的post请求发送数据,接收方出现乱码

今天与别人联调接口,对方要求用流来发送数据,于是我这边用Httpconnection的方式发送数据,demo如下import java.io.BufferedReader;import java.io.DataOutputStream;import java.io.InputStreamReader;import java.net.HttpURLConnection;i

2017-10-09 14:45:50 1286

计算机网络自学视频——hlg.txt

计算机网络精讲视频——讲师hlg

2021-06-10

Wirshark自学视频.txt

Wirshark自学视频

2021-06-10

动画制作 逐帧动画素材.rar

动画制作 逐帧动画素材.rar

2021-03-12

视频推流 windows版本ffmpeg.zip

视频推流 windows版本ffmpeg.zip

2021-03-12

projects.zip

初学者

2021-03-12

空空如也

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

TA关注的人

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