12 2020 档案

摘要:一、关于使用devtools后springboot不用重启的说法对吗? 网上不少文章说springbootdevtools可以实现修改java文件不用重启,其实说法不完全正确,devtools配置好后springboot是会自动重启的。也就是说从人工重启变成了自动重启。那问题来了使用了springb 阅读全文
posted @ 2020-12-17 17:11 玄明hanko 阅读(311) 评论(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 阅读(149) 评论(0) 推荐(0)
摘要:电子证照架构设计 发布于 08-21 阅读全文
posted @ 2020-12-17 17:05 玄明hanko 阅读(204) 评论(0) 推荐(0)
摘要:Java软件开发架构设计 阅读全文
posted @ 2020-12-17 17:04 玄明hanko 阅读(404) 评论(0) 推荐(0)
摘要:一、智能合约Solidity开发工具 1、remix-ide http://remix.ethereum.org/ 在线版本,也可以去github下载安装到本地。开发、编译、发布、执行、测试 2、remix-ide-cn 在线中文版本,也可以去github下载安装到本地。支持开发、编译、发布、执行、 阅读全文
posted @ 2020-12-17 17:02 玄明hanko 阅读(463) 评论(0) 推荐(0)
摘要:Netty是什么?为什么这么火? Netty是目前最流行的由JBOSS提供的一个Java开源框架NIO框架,Netty提供异步的、事件驱动的网络应用程序框架和工具,用以快速开发高性能、高可靠性的网络服务器和客户端程序。 相比JDK原生NIO,Netty提供了相对十分简单易用的API,非常适合网络编程 阅读全文
posted @ 2020-12-17 17:00 玄明hanko 阅读(163) 评论(0) 推荐(0)
摘要:背景 一般我们使用的hash就是md5 sha 之类的工具类,在负载均衡会要求类似同一个ip在增加节点时还是定位到之前的节点,这时就要用到一致性hash。具体实现代码参考(基于google Guava): 使用谷歌 Guava 实现 Java 一致性哈希 (用于根据哈希Hash值平均分配的场景)​m 阅读全文
posted @ 2020-12-17 16:59 玄明hanko 阅读(1484) 评论(0) 推荐(0)
摘要:缓存穿透(一个不存在的key): key对应的数据在数据源并不存在,每次针对此key的请求从缓存获取不到,请求都会到数据源,从而可能压垮数据源。比如用一个不存在的用户id获取用户信息,不论缓存还是数据库都没有,若黑客利用此漏洞进行攻击可能压垮数据库。 缓存击穿(一个过期的key): key对应的数据 阅读全文
posted @ 2020-12-17 16:56 玄明hanko 阅读(92) 评论(0) 推荐(0)
摘要:TPS: Transactions Per Second(每秒传输的事物处理个数),即服务器每秒处理的事务数。TPS包括一条消息入和一条消息出,加上一次用户数据库访问。 QPS: 每秒查询率QPS是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准,在因特网上,作为域名系统服务器的机器的性能 阅读全文
posted @ 2020-12-17 16:48 玄明hanko 阅读(111) 评论(0) 推荐(0)
摘要:前言 设计一个缓存系统,不得不要考虑的问题就是:缓存穿透、缓存击穿与失效时的雪崩效应。 一、缓存穿透 (一个不存在的key) 缓存穿透是指查询一个一定不存在的数据,由于缓存是不命中时被动写的,并且出于容错考虑,如果从存储层查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到存储层去查询,失 阅读全文
posted @ 2020-12-17 16:38 玄明hanko 阅读(194) 评论(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 阅读(136) 评论(0) 推荐(0)
摘要:Netflix的Hystri停更后,SpringCloud家族推荐Resilience4j。在国内阿里也推出了Sentinel。在熔断及操作方面Sentinel相对而言还是比较不错的,在隔离策略方面Hystrix好像比较丰富但线程池隔离好像并没有多大的效果。 阅读全文
posted @ 2020-12-17 16:30 玄明hanko 阅读(1041) 评论(0) 推荐(0)
摘要:现在 Oracle 官方每隔半年就推出一个 JDK 新版本。按时间来算的话,这个月就要出 JDK15 了。然而,大部分公司还是在使用 JDK7 和 8 。 之前去我朋友家,竟然被嘲笑不会用 JDK8 。 不服气的我,回来之后,当然是重点学习之啊。 目录: lambda 表达式 接口默认方法和静态方法 阅读全文
posted @ 2020-12-17 16:28 玄明hanko 阅读(268) 评论(0) 推荐(0)
摘要:一、几个项目github star对比 在网上可以看到很多中文分词器的文章,但是都没说明白到底选择什么。当然一般来说没有最好的只有最合适的,在分词能力、繁体支持等等都可考虑的方向。当然github上的star也可以作为开源项目选择的一个依据。 HanLP github 21.4k star http 阅读全文
posted @ 2020-12-17 16:24 玄明hanko 阅读(693) 评论(0) 推荐(0)
摘要:方案一、基于ElasticSearch方式 方案二、基于Spark方式 方案三、基于Python方式 方案一、基于ElasticSearch方式 详见文章,里面列举了各种ElasticSearch的实现样例。主要是通过ES的fielddata做聚合或调取termvector两种方式实现,当然调用方式 阅读全文
posted @ 2020-12-17 16:21 玄明hanko 阅读(530) 评论(0) 推荐(0)
摘要:话说两个多月前,小史通过了 A 厂的一面,两个多月后的今天,小史终于等到了 A 厂的二面。 在简单的自我介绍后,面试官看了看小史的简历,开始发问了。 面试现场 小史:没问题,这个项目前端用的 React+Webpack,后端用的 Nginx+Spring Boot+Redis+MySQL,前后端是分 阅读全文
posted @ 2020-12-17 16:20 玄明hanko 阅读(1919) 评论(0) 推荐(0)
摘要:SpringBoot实战电商项目mall(40k+star)地址:github.com/macrozheng/…摘要为了方便为SpringBoot应用构建Docker镜像,我们经常会使用Maven插件来打包镜像。之前一直使用的是第三方插件,有spotify和fabric8出品的两种docker-ma 阅读全文
posted @ 2020-12-17 16:17 玄明hanko 阅读(623) 评论(0) 推荐(0)
摘要:当然springboot可以使用@Validated来实现接口数据校验,网上不少spring-boot-starter-web自带了hibernate-validator,我使用的是springboot2.3.4貌似没有自带可以加上以下依赖: <dependency> <groupId>org.sp 阅读全文
posted @ 2020-12-17 16:16 玄明hanko 阅读(255) 评论(0) 推荐(0)
摘要:一、前言 最早optional是google guava工具集中的,后面jdk也把optional收录了,阿里的java开发手册里也说了使用optional解决NPE问题,我们来看看optional是如何解决NPE的。 引入optional目的 "引入Optional并不是要消除每一个null引用, 阅读全文
posted @ 2020-12-17 16:14 玄明hanko 阅读(166) 评论(0) 推荐(0)
摘要:Kubernetes 团队近日宣布将在最新版本中弃用 Docker 支持的功能,后续版本会陆续删除这些功能。 近日,Kubernetes 团队发布了最新的 1.20 版本,新版本更新了许多内容: 存储卷快照功能趋于稳定;Kubectl Debug 进入 Beta;Beta:API 优先级和公平性;I 阅读全文
posted @ 2020-12-17 16:12 玄明hanko 阅读(2501) 评论(1) 推荐(0)
摘要:前言 郑重声明:本文不是 Podman 的入门篇,入门请阅读这篇文章:再见 Docker,是时候拥抱下一代容器工具了 Podman 原来是 CRI-O 项目的一部分,后来被分离成一个单独的项目叫 libpod。Podman 的使用体验和 Docker 类似,不同的是 Podman 没有 daemon 阅读全文
posted @ 2020-12-17 16:10 玄明hanko 阅读(957) 评论(0) 推荐(0)
摘要:安装 yum -y install podman 使用 podman ps -a podman run -dt -p 8080:8080/tcp 可以看到和docker类似 阅读全文
posted @ 2020-12-17 16:08 玄明hanko 阅读(2914) 评论(0) 推荐(0)
摘要:1、我们来将这个.py的文件打包成一个exe,我们直接cmd切换到这个脚本的目录,执行命令:pyinstaller-F setup.py,如下图所示。 ps: -F参数表示覆盖打包,这样在打包时,不管我们打包几次,都是最新的,这个记住就行,固定命令。 2、执行完毕之后,会生成几个文件夹,如下图所示。 阅读全文
posted @ 2020-12-17 16:06 玄明hanko 阅读(246) 评论(0) 推荐(0)
摘要:一、原理图 二、项目环境 操作系统: Centos 7 编程语言: Python 3.5.2 Web 框架: Django 2.0.3 Web 服务器: uWSGI 2.0.17 Web 服务器: Nginx 1.10.3 具体的安装这里不做详述,Ubuntu 使用 apt-get 安装特别方便。 阅读全文
posted @ 2020-12-17 16:04 玄明hanko 阅读(313) 评论(0) 推荐(0)
摘要:一、高亮查询方案 1、直接基于http发送请求 2、基于springboot Repositories 3、基于原生Rest Client(HighRestClient) 二、具体实现 1、直接基于http发送请求 #词频统计 DELETE message_index #创建索引数据结构 PUT m 阅读全文
posted @ 2020-12-04 18:05 玄明hanko 阅读(965) 评论(0) 推荐(0)
摘要:阿里Java开发手册最新版本到哪去下载呢? 答案是下面(官方github仓库): https://github.com/alibaba/p3c​github.com 没错就是嵩山版 扫地僧 阅读全文
posted @ 2020-12-04 18:04 玄明hanko 阅读(288) 评论(0) 推荐(0)
摘要:好像百度也没有明确的答案,个人感觉POC偏重点在为自己的观点提供证明,一般在项目前期或投标阶段出现。demo偏重点在示例,例如微信官网提供了一个java、python等语言的支付的demo程序,系统或接口为了方便别人使用时提供的一个样例。 当然在项目中也会有“演示demo”这个我感觉与poc就有点相 阅读全文
posted @ 2020-12-04 18:03 玄明hanko 阅读(831) 评论(0) 推荐(0)
摘要:一、概述 一般来说我们开发Elasticsearch会选择使用集成springboot,在网上找的springboot集成elasticsearch文章几乎都是extends ElasticsearchRepository的方式来实现。但是新版本ElasticsearchRepository里的方法 阅读全文
posted @ 2020-12-04 18:01 玄明hanko 阅读(641) 评论(0) 推荐(0)
摘要:一、Redis的常用三个java客户端:Jedis,Redisson,Lettuce Jedis:是Redis的Java实现客户端,提供了比较全面的Redis命令的支持,使用阻塞的I/O,程序流需要等到sockets处理完I/O才能执行,不支持异步。Jedis客户端实例不是线程安全的,所以需要通过连 阅读全文
posted @ 2020-12-04 18:00 玄明hanko 阅读(1165) 评论(0) 推荐(0)
摘要:前言 设计一个缓存系统,不得不要考虑的问题就是:缓存穿透、缓存击穿与失效时的雪崩效应。 一、缓存穿透 (一个不存在的key) 缓存穿透是指查询一个一定不存在的数据,由于缓存是不命中时被动写的,并且出于容错考虑,如果从存储层查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到存储层去查询,失 阅读全文
posted @ 2020-12-04 17:51 玄明hanko 阅读(94) 评论(0) 推荐(0)
摘要:一、几个概念 1、Index Type Document 一般我们初学时会把这些与数据库进行对照方便理解 Index->Database Type->Table (最新版本已经不使用Type了,所以很多人会奇怪为什么去掉了?ES并非和数据库是相同的,所以不要完全按数据库的方式来看ES) Docume 阅读全文
posted @ 2020-12-04 17:50 玄明hanko 阅读(1467) 评论(0) 推荐(0)
摘要:一、概述 一般来说我们开发Elasticsearch会选择使用集成springboot,在网上找的springboot集成elasticsearch文章几乎都是extends ElasticsearchRepository的方式来实现。但是新版本ElasticsearchRepository里的方法 阅读全文
posted @ 2020-12-04 17:35 玄明hanko 阅读(1661) 评论(0) 推荐(0)
摘要:一、几个概念 1、Index Type Document 一般我们初学时会把这些与数据库进行对照方便理解 Index->Database Type->Table (最新版本已经不使用Type了,所以很多人会奇怪为什么去掉了?ES并非和数据库是相同的,所以不要完全按数据库的方式来看ES) Docume 阅读全文
posted @ 2020-12-04 17:26 玄明hanko 阅读(704) 评论(0) 推荐(0)
摘要:一、高亮查询方案 1、直接基于http发送请求 2、基于springboot Repositories 3、基于原生Rest Client(HighRestClient) 推建使用方案2 二、具体实现 1、直接基于http发送请求 参考官方: Highlighting | Elasticsearch 阅读全文
posted @ 2020-12-04 17:22 玄明hanko 阅读(897) 评论(0) 推荐(0)
摘要:一、分类 简单工厂 工厂方法 抽象工厂 二、具体说明 简单工厂 通过type来创建不同的对象,升级版就是通过Class Load创建对象 ,接口与实现类详见文章结尾的gitee源代码 工厂方法 简单工厂通过type创建不同对象,工厂方法通过不同工厂类来实现。如果把类的方法设置成static就变成静态 阅读全文
posted @ 2020-12-04 17:07 玄明hanko 阅读(167) 评论(0) 推荐(0)
摘要:互联网下的云产品的三种模型IaaS PaaS SaaS,引用一张图可以看到红色为三种模型所包含的东西。 IaaS:基础架构即服务 IaaS通过虚拟化技术把计算基础(服务器、网络、存储和操作系统等)作为一项服务提供给客户。消费者通过Internet获得完善的计算机基础设施服务,而不必购买硬件。一般Ia 阅读全文
posted @ 2020-12-04 17:06 玄明hanko 阅读(757) 评论(0) 推荐(0)
摘要:远程调用 spark://server_ip:7077 //方式一 SparkSession spark = SparkSession .builder() .appName("JavaWordCount") .master("spark://10.9.2.155:7077") .getOrCrea 阅读全文
posted @ 2020-12-04 16:51 玄明hanko 阅读(1818) 评论(0) 推荐(0)
摘要:一、几个概念 1.1 Spark集群(分布式计算) 一组计算机的集合,每个计算机节点作为独立的计算资源,又可以虚拟出多个具备计算能力的虚拟机,这些虚拟机是集群中的计算单元。Spark集群支持Standalone、Mesos、Yarn三种集群部署模式。 1. Standalone: 独立模式,Spar 阅读全文
posted @ 2020-12-04 16:40 玄明hanko 阅读(997) 评论(0) 推荐(0)
摘要:在你刚刚选择从HttpURLConnection转成Apache Httpclient时,发现好像新出了个okHttp了。 你还在犹豫要不要换成okHttp时,Android已经废除了Apache Httpclient改用okHttp了。 那这时你开始纠结继续用Apache Httpclient还是 阅读全文
posted @ 2020-12-03 09:39 玄明hanko 阅读(1832) 评论(0) 推荐(0)