摘要: 多线程、线程池、并发包每当谈起这些词汇,可能不是在面试就是在准备面试的路上了。 有句话叫“面试造航母,工作拧螺丝“,确实很多情况下我们是用不到这些东西的,但是学好这些东西对我们的日常工作也可能会产生意想不到的好处的。 临近年末,收拾了下手头工作,趁着最后两天有些闲暇,准备着手优化下前段时间业务人员反阅读全文
posted @ 2019-01-31 17:01 小卖铺的老爷爷 阅读(608) 评论(0) 编辑
摘要: 写在最前面 前几周写了篇 利用Redis实现分布式锁 ,今天简单总结下ZooKeeper实现分布式锁的过程。其实生产上我只用过Redis或者数据库的方式,之前还真没了解过ZooKeeper怎么实现分布式锁。这周简单写了个小Demo,更坚定了我继续使用Redis的信心了。 ZooKeeper分布式锁的阅读全文
posted @ 2018-12-07 20:38 小卖铺的老爷爷 阅读(299) 评论(0) 编辑
摘要: 写在最前面 犹记毕业第一年时,公司每次发布完成后,都会在一个群里通知【版本更新,各部门清理缓存,有问题及时反馈】之类的话。归根结底就是资源缓存的问题,浏览器会将请求到的静态资源,如JS、CSS等文件缓存到用户本地,当用户再次访问时就不需要再次请求这些资源了,以此也是提升了用户体验。但是也正是因为这些阅读全文
posted @ 2018-11-29 09:26 小卖铺的老爷爷 阅读(482) 评论(1) 编辑
摘要: 写在最前面 我在之前总结幂等性的时候,写过一种分布式锁的实现,可惜当时没有真正应用过,着实的心虚啊。正好这段时间对这部分实践了一下,也算是对之前填坑了。 分布式锁按照网上的结论,大致分为三种:1、数据库乐观锁; 2、基于Redis的分布式锁;3.、基于ZooKeeper的分布式锁; 关于乐观锁的实现阅读全文
posted @ 2018-11-24 17:06 小卖铺的老爷爷 阅读(679) 评论(0) 编辑
摘要: 一、基础规范 (1)必须使用InnoDB存储引擎 解读:支持事务、行级锁、并发性能更好、CPU及内存缓存页优化使得资源利用率更高 (2)表字符集默认使用utf8,必要时候使用utf8mb4 解读:1、通用,无乱码风险,汉字3字节,英文1字节。2、utf8mb4是utf8的超集,有存储4字节例如表情符阅读全文
posted @ 2018-11-07 20:37 小卖铺的老爷爷 阅读(176) 评论(0) 编辑
摘要: 可能有些同学知道ArrayList,HashSet,,HashMap这些容器都是线程不安全的,如果多个线程并发的访问这些容器就会导致线程不安全问题,很多时候需要我们手动对这些容器进行同步处理,造成我们很大的不便,因此java为我们提供了同步容器和并发容器来解决这个问题。 一、同步容器 首先详细介绍前阅读全文
posted @ 2018-10-23 21:18 小卖铺的老爷爷 阅读(59) 评论(0) 编辑
摘要: 这可能是一个java程序员最不务正业的一次分享了。 小程序的火热相信不用我多说了,年初的时候老婆去浦东某达面试,甚至都被问有没有小程序测试经验。俨然小程序成为了互联网公司自PC,WAP,安卓,IOS之后又一不可或缺的入口。正好这段时间公司也在做一款小程序,于是顺便也学习了一把。当然因为我是一个后端猿阅读全文
posted @ 2018-10-19 11:43 小卖铺的老爷爷 阅读(2262) 评论(7) 编辑
摘要: 中秋假期,闲来无事。花了一下午折腾了下https,说实话这年头还有网站不上https显然是折腾精神不够啊~ 1、SSL证书评估 看了市面上各种类型的证书,有收费的也有免费的,但是最终还是选择了腾讯云提供的TrustAsia一年免费期的证书,没有次数限制,可以过期后再次申请。最主要的原因还是我懒,哈哈阅读全文
posted @ 2018-09-24 10:55 小卖铺的老爷爷 阅读(1558) 评论(1) 编辑
摘要: 这段时间接了个需求,需要在我目前负责的数据系统上加个接口,主要是实现用户行为的记录。前端对接的项目主要有公司的PC,WAP,WEIXIN,APP等,每个端大概有两台左右的负载。因为目前我的这个项目主要是面向内部,负责数据运营相关的内容,是个单体项目。如果线上各个接入点不做限制,瞬间大量的并发进入必然阅读全文
posted @ 2018-09-09 14:46 小卖铺的老爷爷 阅读(752) 评论(0) 编辑
摘要: 最近在本地开发测试的时候,遇到一个表单重复提交的现象。其实原因很简单,因为网络延迟的问题,我点击了两次提交按钮,数据库里生成了两条记录。其实这种现象以前也有遇到过,一般都是提交后把按钮置灰,无法再次提交,这是很常见的客户端处理的方式。 但是这真的有从根本上解决问题吗,虽然客户端解决了多次提交的问题,阅读全文
posted @ 2018-08-31 16:06 小卖铺的老爷爷 阅读(1207) 评论(0) 编辑
摘要: J.U.C学习的第二篇AQS。AQS在Java并发包中的重要性,毋庸置疑,所以单独拿出来理一理。本文参考总结自《Java并发编程的艺术》第五章第二节队列同步器。 什么是AbstractQueuedSynchronizer? AbstractQueuedSynchronizer是JUC并发包中锁的底层阅读全文
posted @ 2018-08-29 20:55 小卖铺的老爷爷 阅读(104) 评论(0) 编辑
摘要: 此篇是J.U.C学习的第一篇Atomic包相关的内容,希望此篇总结能对自己的基础有所提升。本文总结来源自《Java并发编程的艺术》第七章并配以自己的实践理解。如有错误还请指正。 一、案例分析 首先看两段代码: 代码①: 5000个线程200个并发的情况下,对一个共享变量进行++操作。 结果:4997阅读全文
posted @ 2018-08-18 17:13 小卖铺的老爷爷 阅读(283) 评论(0) 编辑
摘要: 什么是动态配置定时任务? 首先说下这次主题,动态配置。没接触过定时任务的同学可以先看下此篇:JAVA定时任务实现的几种方式 定时任务实现方式千人千种,不过基础的无外乎 1、JDK 的Timer类 2、Quartz 3、SpringTask 。生产上三种方式我都有使用过。但是使用过程中用的最多的便是x阅读全文
posted @ 2018-07-24 13:36 小卖铺的老爷爷 阅读(4806) 评论(16) 编辑
摘要: nohup和&究竟有啥区别?不少同学进行了回复,但并不是所有同学都理解得全对,今天把自己挖的坑自己填了。 测试代码如下: 是一个输出hello与循环轮数的死循环程序,每输出一行就休眠1秒。 使用 ./a.out 前台运行程序,会是什么效果呢? 程序每隔一秒会在终端输出一个字符串。 此时如果键入Ctr阅读全文
posted @ 2018-07-21 13:11 小卖铺的老爷爷 阅读(19889) 评论(1) 编辑
摘要: 其实没什么技术含量,因为老是想不起来,所以在此文做下记录。 通常我们的应用系统中都会有很多短信的发送,或者是信息邮件等的推送,而这些信息却有着相同的共性,比如只是用户名换了下。 像下面这条,除了红色字体外,其余都是相同的。 可能不同的同学有不同的处理方法,这里提供下我的解决方案供大家参考,当然如果有阅读全文
posted @ 2018-06-11 10:33 小卖铺的老爷爷 阅读(330) 评论(0) 编辑
摘要: 一直以来做对外的接口文档都比较原始,基本上都是手写的文档传来传去,最近发现了一个新玩具,可以在接口上省去不少麻烦。 swagger是一款方便展示的API文档框架。它可以将接口的类型最全面的展示给对方开发人员,避免了手写文档的片面和误差行为。 swagger目前有两种swagger和swagger2两阅读全文
posted @ 2018-05-16 19:16 小卖铺的老爷爷 阅读(3768) 评论(2) 编辑
摘要: <!-- https://mvnrepository.com/artifact/ojdbc/ojdbc --><!-- (参数一):下载到本地的ojdbc-10.2.0.4.0.jar包的真实存放路径 --><dependency> <groupId>ojdbc</groupId> (参数二) <a阅读全文
posted @ 2018-04-24 19:39 小卖铺的老爷爷 阅读(186) 评论(0) 编辑
摘要: 写在最前面 翻了翻博客,因为太忙,已经好久没认真总结过了。 正好趁着今天老婆出门团建的机会,记录下最近这段时间遇到的大坑-JasperReport。 六月份的时候写过一篇利用poi文件导入导出的小Demo,JAVA实用案例之文件导入导出(POI方式)。 虽然简单,但是企业应用的原理基本上也就是这样,阅读全文
posted @ 2018-01-20 00:21 小卖铺的老爷爷 阅读(7249) 评论(3) 编辑
摘要: SSH的工具很多,像XShell,SecureCRT等等。 不过我一直用的是:SSH Secure Shell Client 主要的原因就是: 软件本身带文件浏览的功能,可以通过拖拽去实现文件上传和下载,很方便。 而不用像其他SSH客户端需要再多下载一个ftp的软件或者通过命令操作。 本来一直在Wi阅读全文
posted @ 2018-01-12 15:49 小卖铺的老爷爷 阅读(8105) 评论(5) 编辑
摘要: 最近学习了一下数据库的悲观锁和乐观锁,根据自己的理解和网上参考资料总结如下: 悲观锁介绍(百科): 悲观锁,正如其名,它指的是对数据被外界(包括本系统当前的其他事务,以及来自外部系统的事务处理)修改持保守态度,因此,在整个数据处理过程中,将数据处于锁定状态。悲观锁的实现,往往依靠数据库提供的锁机制(阅读全文
posted @ 2018-01-07 17:17 小卖铺的老爷爷 阅读(7816) 评论(4) 编辑


^
TOP