- 博客(23)
- 资源 (3)
- 收藏
- 关注
原创 ZookeeperNetEx.Recipes(C#)开源包分布式锁源码走读及使用
关于C#版本 ZookeeperNetEx.Recipes的内容太少了,想要了解怎么使用就需要去了解源码。以下按照我的学习思路分享:1.阅读源码我看的java版本的,不过实现原理和过程基本都是一样的。通过看源码知道使用它时大致需要做什么。https://github.com/shayhatsor/zookeeper/tree/trunk/src/recipes/lockTest...
2020-03-27 16:17:11 577
原创 ZookeeperNet(C#)使用——watcher触发
网上关于java的Zookeeper开源jar包的使用有很多,但C#的ZookeeperNet还不是很多,做项目的时候也遇到了很多问题,主要还是对这些方法的使用不清晰,于是我就把每个方法都测了一遍。这里,分享一下我的使用经验。createsetDatadeleteexistAsync(path,watcher)YYYgetDataAsync(path,wat...
2020-03-12 22:08:36 418
原创 如何自己实现一把锁?(JAVA)
java.util.concurrent.locks下的锁其实都是基于AQS(AbstractQueuedSynchronizer)实现的。尝试着自己写一下:1.implements Lock,2.然后自己写一个同步器sync继承AbstractQueuedSynchronizer(一般建议同步器写成一个内部类)实现tryAcquire(int);实现tryRelease(int);...
2020-03-08 23:03:29 815
原创 Zookeeper3.5.+的新功能——动态服务发现
Zookeeper的伪集群模式部署可以参考下面这篇,我觉得写的非常详细了。https://blog.csdn.net/ceasadan/article/details/52343734关于zookeeper集群的动态服务发现,我之前看的参考书上说的是并不支持,也不能很好支持水平扩容,需要重启集群server(一起重启或者轮流重启)。后来查了一下,发现官网有对动态配置功能的相关介绍:http...
2020-03-03 13:28:31 1810
原创 redis pub/sub订阅功能的实现
redis支持订阅模式:概括来说主要有三大类:对topic/channel进行订阅和发布(与keyspace无关)对某key的相关事件进行订阅发布对特定事件进行订阅发布1.对channel订阅发布参考:redis.io/topics/pubsub无须配置,直接可用。1.1 subscribe/publish订阅的channel没有上限,可订阅任意数量。(后面讲到的psubsc...
2020-03-02 11:25:43 520
原创 生产者消费者的几种写法
我自己根据理解写了4种,可能会存在问题,望指正!问题描述:开5个线程,作为生产者线程,每个线程往容器里放3个;开5个消费者线程,每个线程从容器里get3次;如果容器满了,生产者阻塞;如果容器空了,消费者阻塞。1.用一个普通的数据结构如ArrayList来实现。利用synchronized和Object自带的wait()/notifyAll()方法实现。public static v...
2020-03-01 20:33:59 325
原创 IDEA+maven项目结构+Junit测试
目录结构Build之后生成target目录:一直报Mapper找不到方法的错误。发现是build Project生成的target下classes下的文件不全。删了重新Build之后就好了。IDEA添加测试类在需要测试的方法类里shift+Ctrl+T然后选择Create New Test在测试类上加两个注解在pom.xml里 scope要是test,防止把test类也部署到...
2019-12-30 19:09:11 402
原创 二分法查找元素位置
题目描述(leetcode35):给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。你可以假设数组中无重复元素。我的代码: public int searchInsert(int[] nums, int target) { if(nums==null) return -1; if...
2019-11-08 13:49:11 726
原创 生产者消费者问题的两种写法
问题:一个固定容量的同步容器,有get方法和put方法,和size()方法。n个生产者不断往里面put,m个消费者不断从中get。方式一:Object的wait和notifypublic class TestPandC { public static void main(String[] args) { MyContainer<Object> c=new MyContain...
2019-11-06 12:54:42 328
原创 Synchronized关键字锁的到底是什么(新手入门)
之前一直觉得synchronized就是使代码块具有原子性。听了马士兵老师的一个课,说其实锁的是对象,不是很理解。我的问题是:在下面这个程序里,synchronized到底锁的是整个方法,还是T这个类?class T{ private int Tcount=10; public synchronized void m1() { while(Tcount>4) { Syste...
2019-11-02 16:46:45 388
原创 idea+tomcat热部署
热部署热部署,就是在应用正在运行的时候升级软件,却不需要重新启动应用。也就是我们修改程序后无需重新启动服务器。适合在开发阶段使用。在idea中,我们写好程序之后,接下来就是运行。需要配置一下tomcat:1.配置tomcat2.部署项目这一步就是把项目发布到tomcat上,就可以交给tomcat运行了。接下来选择war exploded。为什么选择这个呢?参考下文:war...
2019-10-30 16:38:42 309
原创 maven jar包管理——Pom文件怎么写/如何更新本地仓库
maven通过在pom.xml文件中配置依赖的方式来导入jar包。如何来写pom.xml?1.收藏两个网址maven官方的仓库网址https://mvnrepository.com/在这里搜索需要的jar包,下面会有如何配置的源码,复制到我们的pom.xml文件就可以了。第二个呢,是阿里云提供的仓库http://maven.aliyun.com/nexus/content/group...
2019-10-30 12:42:41 1689
原创 第一个IntelliJ idea+maven+tomcat程序
参考:https://blog.csdn.net/czc9309/article/details/80304074工程目录结构:创建时选择的模板自动生成的main下是没有java和resources需要自己添加。通过右键文件夹->Mark Directory as可选择该文件夹类型:或者File-> project Structure->Modules 里来加:...
2019-10-28 18:51:31 324 1
转载 springmvc 无法加载静态资源问题404
springmvc 无法加载静态资源问题404原因:DispatchServlet拦截https://blog.csdn.net/xingkongdeasi/article/details/79557198jsp文件等该如何放置在springmvc.xml里配置如下,表示此地址可以访问...
2019-10-26 12:37:46 242 1
原创 InputStream不可重复读
InputStream 不可重复读问题在学习javaweb时,无意调用了两次request.getInputStream()发现第二次读不到任何东西。解决:request.getInputStream()得到的是同一个InputStream。那么如果前面已经调用过它读取数据了,那么后面再用它去读数据就读不到了。至于为什么InputStream不可重复读呢?可以参考https://blog...
2019-09-25 11:37:36 336
转载 使用eclipse第一个web项目搭建
创建web项目参考https://baijiahao.baidu.com/s?id=1608866685862348604&wfr=spider&for=pc如果eclipse里没有web开发相关的插件参考https://www.jianshu.com/p/fc4e9775f933
2019-09-01 10:59:22 263
转载 动态规划——leetcode股票买卖总结
原作者:labuladong链接:https://leetcode-cn.com/problems/two-sum/solution/yi-ge-fang-fa-tuan-mie-6-dao-gu-piao-wen-ti-by-lab/来源:力扣(LeetCode)著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。一、穷举框架首先,还是一样的思路:如何穷举?这里的穷举思...
2019-08-11 21:06:17 408
原创 tomcat7解压版启动问题
问题:双击安装目录/bin/startup.bat时 窗口一闪而过就关闭了解决:先检查自己的JAVA_HOME是否是对的,解压版只看JAVA_HOME可以用cmd 切换到安装目录/bin下 执行catalina run命令:Djava.endorsed.dirs=D:\apache-tomcat-7.0.42\endorsed is not supported. Endorsed sta...
2019-08-06 16:27:08 436
原创 spring5.0.2的AOP配置问题
在配置AOP时,明明配置了切入点,却一直报错创建不了代理类。报错描述:Exception in thread “main” org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘accountService’ defined in class path resource ...
2019-07-16 12:56:30 645
原创 Spring+Mybatis添加事务管理中的自动提交问题
在将事务管理交由Service层来管理时,需要我们自己控制commit()和rollback(),因此需要关闭自动提交功能:事务的自动提交需要的设置主要考虑三部分,Mybatis的SQLSession,连接池和数据库:1.SqlSession默认是不自动提交的,需要手动调用commit(),如果想设置可以通过openSession的true和false参数来设置:2.由于采用了连接池来管理...
2019-07-15 22:01:14 7854
原创 java jdbc 连接mysql8.0时的若干问题
1.问题一 出现如下所示错误:Sun May 05 20:50:34 CST 2019 WARN: Establishing SSL connection without server’s identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SS...
2019-05-30 16:47:26 280
原创 Mysql8.0登陆不上问题解决
一开始按照网上的安装过程,完成安装,也可以用自己设置的root 和密码登录,但是第二天再想登陆就一直出现“错误1045(28000):用户'root'@'localhost'(使用密码:YES)拒绝访问”的问题明明没有记错密码,为什么会出现错误。于是参考其他文章:https://blog.csdn.net/qq_36675754/article/details/81381341在按...
2019-05-09 14:07:31 3257 2
原创 Java编程思想学习笔记(七)
复用:1.组合 2.继承 3.代理组合:has-a继承:is-a组合还是继承一个清晰的判断方法:是否需要从新类向基类进行向上转型final1. final +数据——final “不会改变的”(1)基本数据类型final+基本数据类型=常量 定义时必须赋值或者在构造函数里赋值(使用前总是被初始化)static final+基本数据类型=编译器常量 全部用大写单词间用_隔开...
2019-03-19 19:33:34 108
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人