- 博客(40)
- 资源 (5)
- 收藏
- 关注
原创 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
原创 如何快速的编写一个简单的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
转载 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
原创 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
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人