摘要: 一、关于使用devtools后springboot不用重启的说法对吗? 网上不少文章说springbootdevtools可以实现修改java文件不用重启,其实说法不完全正确,devtools配置好后springboot是会自动重启的。也就是说从人工重启变成了自动重启。那问题来了使用了springb 阅读全文
posted @ 2020-12-17 17:11 玄明hanko 阅读(283) 评论(0) 推荐(0) 编辑
摘要: 一、背景 JDK 1.4中的java.nio.*包中引入新的Java I/O库,其目的是提高速度。实际上,“旧”的I/O包已经使用NIO重新实现过,即使我们不显式的使用NIO编程,也能从中受益。官网nio应对的是New I/O,当然大家也把它翻译成 no-blocking io。 二、I/O与NI/ 阅读全文
posted @ 2020-12-17 17:09 玄明hanko 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 电子证照架构设计 发布于 08-21 阅读全文
posted @ 2020-12-17 17:05 玄明hanko 阅读(195) 评论(0) 推荐(0) 编辑
摘要: Java软件开发架构设计 阅读全文
posted @ 2020-12-17 17:04 玄明hanko 阅读(382) 评论(0) 推荐(0) 编辑
摘要: 一、智能合约Solidity开发工具 1、remix-ide http://remix.ethereum.org/ 在线版本,也可以去github下载安装到本地。开发、编译、发布、执行、测试 2、remix-ide-cn 在线中文版本,也可以去github下载安装到本地。支持开发、编译、发布、执行、 阅读全文
posted @ 2020-12-17 17:02 玄明hanko 阅读(360) 评论(0) 推荐(0) 编辑
摘要: Netty是什么?为什么这么火? Netty是目前最流行的由JBOSS提供的一个Java开源框架NIO框架,Netty提供异步的、事件驱动的网络应用程序框架和工具,用以快速开发高性能、高可靠性的网络服务器和客户端程序。 相比JDK原生NIO,Netty提供了相对十分简单易用的API,非常适合网络编程 阅读全文
posted @ 2020-12-17 17:00 玄明hanko 阅读(157) 评论(0) 推荐(0) 编辑
摘要: 背景 一般我们使用的hash就是md5 sha 之类的工具类,在负载均衡会要求类似同一个ip在增加节点时还是定位到之前的节点,这时就要用到一致性hash。具体实现代码参考(基于google Guava): 使用谷歌 Guava 实现 Java 一致性哈希 (用于根据哈希Hash值平均分配的场景)​m 阅读全文
posted @ 2020-12-17 16:59 玄明hanko 阅读(1315) 评论(0) 推荐(0) 编辑
摘要: 缓存穿透(一个不存在的key): key对应的数据在数据源并不存在,每次针对此key的请求从缓存获取不到,请求都会到数据源,从而可能压垮数据源。比如用一个不存在的用户id获取用户信息,不论缓存还是数据库都没有,若黑客利用此漏洞进行攻击可能压垮数据库。 缓存击穿(一个过期的key): key对应的数据 阅读全文
posted @ 2020-12-17 16:56 玄明hanko 阅读(80) 评论(0) 推荐(0) 编辑
摘要: TPS: Transactions Per Second(每秒传输的事物处理个数),即服务器每秒处理的事务数。TPS包括一条消息入和一条消息出,加上一次用户数据库访问。 QPS: 每秒查询率QPS是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准,在因特网上,作为域名系统服务器的机器的性能 阅读全文
posted @ 2020-12-17 16:48 玄明hanko 阅读(99) 评论(0) 推荐(0) 编辑
摘要: 前言 设计一个缓存系统,不得不要考虑的问题就是:缓存穿透、缓存击穿与失效时的雪崩效应。 一、缓存穿透 (一个不存在的key) 缓存穿透是指查询一个一定不存在的数据,由于缓存是不命中时被动写的,并且出于容错考虑,如果从存储层查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到存储层去查询,失 阅读全文
posted @ 2020-12-17 16:38 玄明hanko 阅读(176) 评论(0) 推荐(0) 编辑
摘要: 前言 先引用一张图片 目录图 一、SQL语句优化 开启慢查询功能 vim /etc/my.cnf [mysqld] slow-query-log = on # 开启慢查询功能 slow_query_log_file = /data/slow-query.log # 慢查询日志存放路径与名称 long 阅读全文
posted @ 2020-12-17 16:35 玄明hanko 阅读(124) 评论(0) 推荐(0) 编辑
摘要: Netflix的Hystri停更后,SpringCloud家族推荐Resilience4j。在国内阿里也推出了Sentinel。在熔断及操作方面Sentinel相对而言还是比较不错的,在隔离策略方面Hystrix好像比较丰富但线程池隔离好像并没有多大的效果。 阅读全文
posted @ 2020-12-17 16:30 玄明hanko 阅读(892) 评论(0) 推荐(0) 编辑
摘要: 现在 Oracle 官方每隔半年就推出一个 JDK 新版本。按时间来算的话,这个月就要出 JDK15 了。然而,大部分公司还是在使用 JDK7 和 8 。 之前去我朋友家,竟然被嘲笑不会用 JDK8 。 不服气的我,回来之后,当然是重点学习之啊。 目录: lambda 表达式 接口默认方法和静态方法 阅读全文
posted @ 2020-12-17 16:28 玄明hanko 阅读(250) 评论(0) 推荐(0) 编辑
摘要: 一、几个项目github star对比 在网上可以看到很多中文分词器的文章,但是都没说明白到底选择什么。当然一般来说没有最好的只有最合适的,在分词能力、繁体支持等等都可考虑的方向。当然github上的star也可以作为开源项目选择的一个依据。 HanLP github 21.4k star http 阅读全文
posted @ 2020-12-17 16:24 玄明hanko 阅读(417) 评论(0) 推荐(0) 编辑
摘要: 方案一、基于ElasticSearch方式 方案二、基于Spark方式 方案三、基于Python方式 方案一、基于ElasticSearch方式 详见文章,里面列举了各种ElasticSearch的实现样例。主要是通过ES的fielddata做聚合或调取termvector两种方式实现,当然调用方式 阅读全文
posted @ 2020-12-17 16:21 玄明hanko 阅读(443) 评论(0) 推荐(0) 编辑
摘要: 话说两个多月前,小史通过了 A 厂的一面,两个多月后的今天,小史终于等到了 A 厂的二面。 在简单的自我介绍后,面试官看了看小史的简历,开始发问了。 面试现场 小史:没问题,这个项目前端用的 React+Webpack,后端用的 Nginx+Spring Boot+Redis+MySQL,前后端是分 阅读全文
posted @ 2020-12-17 16:20 玄明hanko 阅读(1847) 评论(0) 推荐(0) 编辑
摘要: SpringBoot实战电商项目mall(40k+star)地址:github.com/macrozheng/…摘要为了方便为SpringBoot应用构建Docker镜像,我们经常会使用Maven插件来打包镜像。之前一直使用的是第三方插件,有spotify和fabric8出品的两种docker-ma 阅读全文
posted @ 2020-12-17 16:17 玄明hanko 阅读(601) 评论(0) 推荐(0) 编辑
摘要: 当然springboot可以使用@Validated来实现接口数据校验,网上不少spring-boot-starter-web自带了hibernate-validator,我使用的是springboot2.3.4貌似没有自带可以加上以下依赖: <dependency> <groupId>org.sp 阅读全文
posted @ 2020-12-17 16:16 玄明hanko 阅读(234) 评论(0) 推荐(0) 编辑
摘要: 一、前言 最早optional是google guava工具集中的,后面jdk也把optional收录了,阿里的java开发手册里也说了使用optional解决NPE问题,我们来看看optional是如何解决NPE的。 引入optional目的 "引入Optional并不是要消除每一个null引用, 阅读全文
posted @ 2020-12-17 16:14 玄明hanko 阅读(138) 评论(0) 推荐(0) 编辑
摘要: Kubernetes 团队近日宣布将在最新版本中弃用 Docker 支持的功能,后续版本会陆续删除这些功能。 近日,Kubernetes 团队发布了最新的 1.20 版本,新版本更新了许多内容: 存储卷快照功能趋于稳定;Kubectl Debug 进入 Beta;Beta:API 优先级和公平性;I 阅读全文
posted @ 2020-12-17 16:12 玄明hanko 阅读(2454) 评论(1) 推荐(0) 编辑