- 博客(18)
- 资源 (1)
- 收藏
- 关注
原创 设计模式之策略模式
应用场景在实现一个功能时,可能存在多种不同的实现方式时,可以采用策略模式。比如,支付接口,可能会有微信支付,支付宝支付,银行支付等等。策略模式可以将一组或者说一系列的算法,将每一个算法封装到具有共同接口的独立的类中,从而使得它们可以相互替换。客户端可以根据不同的需求,来选择特定的算法。策略算法的优点就是算法可以自由的切换,可以避免多重条件的判断,减少if--else的使用,同时具有良好的扩展性。缺点是每种算法都会产生一个类,会造成类文件比较多。同时客户端需要知道每种算法,才能根据自己需求来进行算法选择。
2020-09-06 22:21:07
213
原创 关于延时队列的一些思考
最近由于项目的需要原因,需要做一个延时队列,比如用户登录X秒后需要发送一些系统消息。或者要做一个小游戏,需要有操作超时检测,如果超时,则自动跳到下一个玩家操作。这些,都用到了定时检测,而又想到了redis有过期回调功能,所以打算使用redis的过期回调来实现这些功能。由于对于redis的过期回调不熟悉,导致踩了一些坑。先大致介绍一下延时队列的实现方案:基于redis的过期回调 基于redis的zset实现 定期轮询数据库 DelayQueue 基于Rabbitmq、kafka等实现这里主要
2020-08-10 15:49:51
1117
原创 定时任务配置
定时任务配置"0 0 12 * * ?" 每天中午12点触发"0 15 10 ? * *" 每天上午10:15触发"0 15 10 * * ?" 每天上午10:15触发"0 15 10 * * ? *" 每天上午10:15触发"0 15 10 * * ? 2005" 2005年的每天上午10:15触发"0 * 14 * * ?" 在每天下午2点到下午2:59期间的每1分钟触发"0 0/5 14 * * ?" 在每天下午2点到下午2:55期间的每5分钟触发"0 0/5 14,1...
2020-08-10 15:48:59
302
1
原创 索引
索引是什么索引就像一本书的目录,它的出现是为了提高查询数据的效率。索引的类型索引的类型有聚集索引,非聚集索引,哈希索引,位图索引等这些索引之间的区别和适用场景聚集索引和非聚集索引都采用了B+树的结构,但是聚集索引的数据在叶子节点,而非聚集索引的叶子节点仍然是索引节点。如mysql里的主键就是聚集索引,叶子节点的数据就是主键。而普通的索引是非聚集索引,叶子节点保存的是数据的主键,...
2019-12-30 22:44:40
225
原创 Synchronized
实现原理java中每个对象都有一个监视器(Monitor),来检测并发代码的重入,monitor对象存在于每个对象的对象头。在非多线程编码时该监视器不起作用。当使用Synchronized时,监视器就会起作用。被Synchronized修饰的代码块在编译时,同步块的入口和出口分别有monitorenter和monitorexit指令。jvm通过进入、退出监视器来实现对方法、代码的同步。当线程获...
2019-12-11 19:42:26
275
原创 日期格式化
DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");LocalDateTime localDateTime = LocalDateTime.of(2019, 11, 5, 15, 40,10);LocalDateTime localDateTime2 = LocalDateTime.parse("...
2019-12-09 18:58:49
187
原创 spring单元测试
package yzb;import com.xuanyutech.device.task.DevOEETask;import org.junit.Test;import org.junit.runner.RunWith;import org.springframework.beans.factory.annotation.Autowired;import org.springfra...
2019-12-09 18:17:31
156
原创 http请求
public static String get(String url, Map<String, String> param) throws URISyntaxException, IOException { CloseableHttpClient httpClient = HttpClients.createDefault(); Closeable...
2019-12-09 11:45:45
243
原创 数据库连接池失效报错
报错信息:Cause: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: The last packet successfully received from the server was 304,030,789 milliseconds ago. The last packet sent successfully to th...
2019-12-09 11:42:34
827
原创 记一次数据库sql优化
问题描述:执行sql页面总是出不了数据,提示是数据库连接超时。初步估计是sql执行时间过长,因为该项目有些数据的数据量也不算少,并且并没有做太多的索引。sql语句:select cncdev_id,cncdev_name,cncdev_ip,alarm_id,sum(log_time_differ) as log_time_differfrom cncdev_alarm_...
2019-03-13 15:33:53
423
原创 MySql Host is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts'
报错信息:java.sql.SQLException: null, message from server: "Host 'cnwgpm0bd01.corp.jabil.org' is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts'" at com.mysql.jdbc.SQ...
2019-02-15 10:35:53
806
原创 VMware部署hadoop,spark可能遇到的问题
1.防火墙没关,导致ping不通2.没有设置静态ip,导致ip变化后,通过ping slave这样的方式ping不通3.vmware克隆系统,会导致mac和网卡等也克隆过来,从而有冲突。查看网络设备绑定文件:/etc/udev/rules.d/70-persistent-net.rules。查看HWADDR="00:0C:29:99:F1:6B"是否正确。不一致则需要在VMware的设置那...
2019-02-14 16:29:03
278
原创 mysql只能通过localhost而不能使用本机ip访问的问题
原因是因为权限没开步骤: 利用localhost连接登录mysql; 打开查询窗口执行以下语句赋予权限: GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456'; 这里面*.*代表是所有库.所有表,root是用户名,%代表所有ip都可访问,也可指定ip访问,例如'root'@'172.17.5.90'...
2019-01-21 13:55:16
440
原创 Jenkins部署遇到的问题
新建项目时没有构建一个maven项目选项解决方法:安装Maven Integration plugin插件,在全局工具配置中配置maven的路径 构建后操作,没有deploy war/ear to a container选项解决方法:安装Deploy to container Plugin插件 安装的插件:Maven Integration plugin,Dep...
2018-11-26 13:56:31
1167
原创 大数据学习笔记之Hadoop的一些机制
作业调度机制作业调度有3个调度方式:①FIFO(先进先出) :每个作业都会使用整个集群,只有轮到自己猜能享受服务②容量调度:每个队列采用的调度策略是FIFO算法,默认情况下不支持优先级抢占。③公平调度 :公平调度器按作业池来组织作业,会按照提交作业的用户数将资源公平地分到作业池。默认情况下,每一个用户游泳一个独立的作业池,而不会管他们提交了多少作业。在每一个资源池里,会用公平共享的...
2018-09-14 22:46:01
234
转载 Hadoop 新 MapReduce 框架 Yarn 详解
转载自https://www.ibm.com/developerworks/cn/opensource/os-cn-hadoop-yarn/ Hadoop MapReduceV2(Yarn) 框架简介原 Hadoop MapReduce 框架的问题对于业界的大数据存储及分布式处理系统来说,Hadoop 是耳熟能详的卓越开源分布式文件存储及处理框架,对于 Hadoop 框架的介绍在此...
2018-09-12 22:10:03
189
原创 使用git提交本地项目
本地项目提交到GitHub步骤:首先要登录进入你的Github,点击New repository新建一个项目,然后在本地进行以下操作1. git init //初始化仓库2. git add .(文件name) //添加文件到本地仓库3. git commit -m "first commit" //添加文件描述信息4. git remote add origin + 远程仓库...
2018-09-10 21:31:58
231
原创 大数据学习笔记之MapReduce作业执行流程
MapReduce作业执行流程大致可分为以下几步:①提交作业,②初始化作业,③分配任务,④执行作业,⑤更新进度和状态,⑥完成。又或者可划分为:①输入分片(input split),②Map阶段,③combiner阶段,④shuffle阶段,⑤reduce阶段。 提交作业主要有几个步骤:①调用JobTracker的getNewJobId()方法,获取作业ID。②检查作业相关路径...
2018-09-09 20:35:29
1496
simian-2.5.10 (1).rar
2019-09-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人