➤ 编程语言
文章平均质量分 65
lytao123
一起学习一起嗨!
展开
-
40亿个QQ号,限制1G内存,如何去重?【已通过代码实现】
前几天发现一个有趣的文章 “40亿个QQ号,限制1G内存,如何去重?”,发现很有意思,就想着用代码实现一下,下面是分析和实现过程。原创 2023-06-02 20:57:45 · 594 阅读 · 0 评论 -
关于 CURL 命令的使用这一篇就够了
curl 命令是一种非常强大的网络工具,可以让我们通过命令行与网络进行交互。在这篇文章中,我们将会介绍curl命令的基本使用方法和一些需要注意的事项。原创 2023-06-02 16:31:32 · 3892 阅读 · 3 评论 -
Gson 适配多种日期时间格式转换
为了能够使 Gson 适用各种常见时间格式, Gson 增加了适配器模式来解析 Date,我们只需要增加一个自定义的适配器即可。参考下面示例代码:通过 GsonBuilder 创建一个多适配器的 gson 对象:public static void main(String[] args) { DateJson dateJson = new DateJson(new Date()); Gson gson = new GsonBuilder()原创 2020-11-02 11:12:16 · 5785 阅读 · 0 评论 -
已经帮你整理好JVM调优常用参数,学不学看你了
一、JVM 参数参数描述示例-version / -showversion两参数功能基本一样,输出 Java 版本号、JRE 版本号、JVM名称、类型、版本-Xint / -Xcomp / -Xmixed指定 JVM 以解释模式、编译模式、混合模式运行-XX:+PrintCommandLineFlags让 JVM 打印出用户设置的和 JVM 设置的详细的XX参数的名称和值二、JVM 日志参数参数描述示例-XX:+PrintGC开原创 2020-09-22 21:15:23 · 254 阅读 · 0 评论 -
记录使用java8 stream 过程中出现的问题
记录使用java8 stream 过程中出现的问题Java8使用Optional避免空检查错误实例代码:List<Payment> paymentList = new ArrayList<>(); paymentList.add(new Payment()); String paymentName = paymentList.parallelStream() .filter(Objects::nonNull)原创 2020-07-30 23:57:25 · 2008 阅读 · 2 评论 -
Redis分布式锁解决接口幂等的两种方案
Redis分布式锁解决接口幂等的两种方案一、背景二、基础知识三、解决方案四、实验五、说在最后的话一、背景还在为不了解分布式锁而烦恼吗?还在为众多微服务接口不幂等而发愁吗?如果是,并且有兴趣同我一起学习,那请接着看本文,通过本文能够学习到分布式锁的基本原理、如何实现分布式锁以及使用分布式锁解决接口幂等问题。二、基础知识本文是通过使用 Redis 实现分布式锁,当然也可用使用各大数据库,比如 ...原创 2020-05-01 13:49:40 · 3462 阅读 · 6 评论 -
关于在项目中使用 ModelMapper 的利弊
一、背景在项目开发时,前期推荐我们使用 ModelMapper 对 DO-DTO-VO 进行转换,没 PO,我们也从中尝到了甜头,因为总体代码量少,映射有问题就会提示;但是到了中后期,发现 ModelMapper 转换产生的 bug 不易排查,甚至产生了未知原因的 bug。为啥说是未知呢,首先我们的服务是微服务,每个服务都是多实例的保证高可用,但是在其中一个实例上 ModelMapper 转换对...原创 2020-03-10 12:53:34 · 3520 阅读 · 3 评论 -
WebSocket 实现服务器消息推送客户端
一、背景项目需要做一个消息能够实时获取的功能,系统日活跃量达到10000,产生的消息是活跃量的数倍,如果采用 Http 的方式轮询后端服务,会使得后端服务压力过大而奔溃,因此需要一种新的技术方式来改变 “拉” 的方式。二、解决方案经过各种 Google、百度 后发现可以使用 html5 的新技术 WebSocket ,将现有 “拉”消息的方式改变成 “推” 的模式,大大的减少服务器压力。...原创 2019-12-23 16:25:24 · 1575 阅读 · 0 评论 -
ModelMapper 的高级使用
ModelMapper 高级使用 ModelMapper 是一个 Object To Object 的工具,类似于 MapStruct又不同于 MapStruct。主要原因是 ModelMapper 是利用反射的原理实现的 Object To Object。 ModelMapper 官方API : http://modelmapper.org/user-manual/property-ma...原创 2019-05-12 00:19:01 · 18841 阅读 · 4 评论 -
【遇见】---- Java 获取项目下文件路径方式总结
一、背景使用开发工具:Eclipse开发项目:Java Web 项目问题重现:在几天前忙于一个急于上线的项目就没来得及分析总结,现在空下来了就好好整理一下,事情是这样的,那天我在 src 下新建了一个类型为 Source Folder 的 resource资源文件夹(项目中还没有此类文件夹),然后再通过一个工具类获取 resource 下的文件,当时是使用代码 XXX.class.get...原创 2019-01-29 10:16:45 · 4521 阅读 · 0 评论 -
关于 Eclipse IDE 中 JDK 配置的认识
1. Eclipse JDK 版本介绍 在实际开发和学习中,因为 Eclipse 中配置 JDK 的版本一般都超过两个版本,并且通常用到的一些技术对 JDK 版本都有最低支持版本和最高支持版本,所以就会存在 JDK 与某些框架技术不兼容情况,产生这种情况对于不清楚怎么去配置 JDK 版本的攻城狮来说是一件吃力的事情,因此,我整理总结了在 Eclipse 中关于 JDK 配置的介绍。 在 ...原创 2018-11-17 13:23:34 · 1839 阅读 · 0 评论 -
Java爬虫-使用HttpClient+Jsoup实现简单的爬虫爬取文本
一、工具介绍 HttpClient是Apache Jakarta Common下的子项目,用来提供高效的、最新的、功能丰富的支持HTTP协议的客户端编程工具包,并且它支持HTTP协议最新的版本和建议。HttpClient已经应用在很多的项目中,比如Apache Jakarta上很著名的另外两个开源项目Cactus和HTMLUnit都使用了HttpClient。 HttpClient下载地址...原创 2018-07-20 17:18:30 · 696 阅读 · 0 评论 -
Java实现MongoDB的操作,以Java爬虫爬取CSDN博客为例
一、下载驱动 大家可以去MongoDB官网下载,我也整理了MongoDB的Java驱动包上传到了CSDN,点击下载二、代码简介 本爬虫是基于HttpClient+Jsonp框架编写,数据库采用MongoDB。功能是通过提供CSDN中博主的id名,将该博主的博文信息采集入库。大体过程是通过HttpClient访问网页,Jsonp解析将爬取的博文地址(URL)进行存储在集合 blo...原创 2018-08-08 14:59:04 · 959 阅读 · 0 评论 -
【小试牛刀】使用 Python 批量处理文件,以重命名为例
一、说明 对经常遇到加有各种后缀的文件名进行批量处理。二、源码'''Created on 2018年10月21日@author: 欧阳'''import osdef BatchReName(path, oldStr, newStr): &amp;amp;amp;quot;&amp;amp;amp;quot;&amp;amp;amp;quot; @note: 批量重命名 @param p原创 2018-10-21 11:59:14 · 777 阅读 · 0 评论 -
多线程编程实现一个简单的缓存池系统
一、背景 最近在学习多线程编程,发现实现线程的互斥技术不仅可以用关键字 synchronized,还可以用 java.util.concurrent.locks 包下的读写锁类,使用读写锁比使用关键字的效率更高些,当一个线程加了读锁后其他线程也可以加读锁,但不能加写锁,加了写锁就不能加读锁或写锁。 然后自己用读写锁写了一个简单的缓存系统,完整代码在下面。二、完整代码packag...原创 2018-08-20 16:40:10 · 617 阅读 · 0 评论 -
Java Web如何限制访问的IP的两种方法
Java Web限制IP访问的两种方法 前一阵子因为在做项目时碰到了这个功能,现在好好总结一下,至于为什么要限制IP访问,我就不多说了。然后百度了一下,现在主要有两种方式去限制IP访问,第一种是最简单的方便的,第二种是通过过滤器来限制访问。下面我简单介绍一下第一种方式,着重介绍第二种。第一种方式(Tomcat配置项配置允许或限制IP访问) 这种是最简单的快捷的,主要就涉及Tomca...原创 2018-07-29 11:40:48 · 24950 阅读 · 4 评论