![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
创客公元
正寻找机会中(欢迎公司和猎头私信哈)
8年工作经验,4年开发+4年技术经理
涉及行业:智慧城市、智慧政务、智能客服、呼叫中心、金融贷后管理;
代表项目有:北京市统一身份认证、海淀一网通办、北京通、vipkid呼叫中心、mobike单车智能客服中心等
展开
-
Java获取UserAgent Java获取当前请求的操作系统及版本、浏览器及版本
识别客户使用的操作系统及版本、浏览器及版本、浏览器渲染引擎等本文采用Hutool,Hutool在4.2.1之后支持User-Agent的解析。使用以桌面浏览器为例,假设你已经获取了用户的UA:String uaStr = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.835.163 Safari/535.1";获取UA信息我们可以借助UserAgentUtil.p.原创 2021-04-15 09:47:22 · 2453 阅读 · 0 评论 -
java base64转图片
@ApiOperation("获取二维码") @GetMapping("/getQRCode") public void getQRCode(HttpServletResponse response) throws IOException { try { response.setContentType("text/html"); String xmlImg = "iVBORw0KGgoAAAANSUhEUgAAAIcAAACH.原创 2020-07-13 16:47:23 · 11087 阅读 · 0 评论 -
在Java 1.8中,HashMap的链表在什么条件下会转换为红黑树?
HashMap在jdk1.8之后引入了红黑树的概念,表示若桶中链表元素超过8时,会自动转化成红黑树;若桶中元素小于等于6时,树结构还原成链表形式。原因:红黑树的平均查找长度是log(n),长度为8,查找长度为log(8)=3,链表的平均查找长度为n/2,当长度为8时,平均查找长度为8/2=4,这才有转换成树的必要;链表长度如果是小于等于6,6/2=3,虽然速度也很快的,但是转化为树结构和生成树的时间并不会太短。还有选择6和8的原因是:中间有个差值7可以防止链表和树之间频繁的转换。假设一下,如果设计成原创 2020-05-12 13:55:34 · 8164 阅读 · 8 评论 -
JVM 内存结构
JVM 内存结构Java 虚拟机的内存空间分为 5 个部分:程序计数器Java 虚拟机栈本地方法栈堆方法区JDK 1.8 同 JDK 1.7 比,最大的差别就是:元数据区取代了永久代。元空间的本质和永久代类似,都是对 JVM 规范中方法区的实现。不过元空间与永久代之间最大的区别在于:元数据空间并不在虚拟机中,而是使用本地内存。程序计数器(PC 寄存器)程序计数器的定义程序计数器是一块较小的内存空间,是当前线程正在执行的那条字节码指令的地址。若当前线程正在执行的是一个本地方法,那么此时原创 2020-05-12 11:48:54 · 219 阅读 · 0 评论 -
Java 时间比较
两个Stringl类型的时间进行比较 public static IntegercompareDate(String date1,String date2){ // 如果指定的数与参数相等返回 0。 // 如果指定的数小于参数返回 -1。 // 如果指定的数大于参数返回 1 return date1.compareTo(date2); }...原创 2019-04-29 11:19:53 · 954 阅读 · 0 评论 -
结巴分词(java版) jieba-analysis
结巴分词(java版) jieba-analysisjieba-analysis首先感谢jieba分词原作者fxsjy,没有他的无私贡献,我们也不会结识到结巴 分词,更不会有现在的java版本。结巴分词的原始版本为python编写原项目见:https://github.com/huaban/jieba-analysis,jar# 当前稳定版本<dependency>...原创 2019-05-10 16:22:28 · 13072 阅读 · 3 评论 -
Cookie 和 Session的区别,看这一篇就足够了!
Cookie 和 Session的区别Cookie 和 Session 有什么区别呢?大部分的面试者应该都可以说上一两句,比如:什么是 Cookie?什么是 Session?两者的区别等。但如果再往深入探讨的话,就慢慢有一些朋友不太了解了,谈起原理时就很少有朋友全部回答准确。今天和大家一起深入聊聊有关 Cookie 和 Session 的话题 。第一层楼什么是 Cookie?HT...原创 2019-05-30 11:05:26 · 659 阅读 · 0 评论 -
Java 初始化时定义一个不可改变的Map集合
初始化时定义一个不可改变的Map集合代码package com.zhaohp.sofaboot;import org.junit.Test;import org.junit.runner.RunWith;import org.springframework.boot.test.context.SpringBootTest;import org.springframework.test...原创 2019-05-23 16:43:25 · 2248 阅读 · 0 评论 -
Mysql 手机号、身份证号脱敏
为了保护客户隐私时常会用到脱敏等操作,下面就介绍几种数据脱敏的方式。原创 2019-05-28 14:40:20 · 4272 阅读 · 0 评论 -
如何优雅的打印代码执行时长
如何优雅的打印代码执行时长原创 2019-08-02 19:23:03 · 3142 阅读 · 0 评论 -
Java8 Stream
Java8 Stream学习笔记list去重定义对象(重写hashCode()和equals()方法)@Data@EqualsAndHashCodepublic class User implements Serializable { private int id; private String name;} public static void main(S...原创 2019-04-28 16:01:19 · 184 阅读 · 0 评论 -
UserAgentUtils 获取浏览器信息
<dependency> <groupId>eu.bitwalker</groupId> <artifactId>UserAgentUtils</artifactId> <version>1.21</version></dependency>import eu.bitwal...原创 2019-04-03 13:59:30 · 9527 阅读 · 0 评论 -
Linux 下查看java进程
Linux下查看和停止所有java进程1.ps -ef | grep java在Linux下查看所有java进程命令:ps -ef | grep java停止特定java进程命令:kill -9 java进程序号停止所有java进程命令:pkill - 9 java2.jpsjps -l -v比较常用的参数:-q 只显示pid,不显示class名称,jar文件名和传递给main 方...原创 2018-11-29 16:37:02 · 81247 阅读 · 2 评论 -
Properties 类中setProperty 方法和put()方法的区别
因为 Properties 继承于 Hashtable,所以可对 Properties 对象应用 put 和 putAll 方法。但强烈反对使用这两个方法,因为它们允许调用方插入其键或值不是 Strings 的项。相反,应该使用 setProperty 方法。如果在“有危险”的 Properties 对象(即包含非 String 的键或值)上调用 store 或 save 方法,则该调用将失...原创 2018-11-30 10:53:14 · 10748 阅读 · 0 评论 -
Java BigInteger
BigInteger概述可以让超过Integer范围内的数据进行运算构造方法public BigInteger(String val)成员方法public BigInteger add(BigInteger val)public BigInteger subtract(BigInteger val)public BigInteger multiply(BigInteger val)...原创 2018-11-28 16:37:47 · 541 阅读 · 0 评论 -
@RequestParam 注解
本文讲解@RequestParam 注解 的用法demo@GetMapping("/list")public String test(@RequestParam int userId) { return "list";}讲解如下1.@RequestParam(required = false)设置为非必传。因为required值默认是true,所以默认必传2.@Requ...原创 2018-12-05 15:37:51 · 391 阅读 · 0 评论 -
BeanUtils.copyProperties()
BeanUtils类org.springframework.beans.BeanUtils,org.apache.commons.beanutils.BeanUtils,这两个类在不同的包下面,而这两个类的copyProperties()方法里面传递的参数赋值是相反的。例如://a,b为对象BeanUtils.copyProperties(a, b);BeanUtils是...原创 2018-12-03 15:53:43 · 125 阅读 · 0 评论 -
List 交集、并集、差集、交集的补集
本文主要介绍List 非空、交集、并集、差集、交集的补集等操作 @Test public void test001() { List<String> listA = new ArrayList<>(); List<String> listB = null; List<String> lis...原创 2018-12-03 15:55:48 · 3346 阅读 · 0 评论 -
Java 工具类
在Java中,工具类定义了一组公共方法,这篇文章将介绍Java中使用最频繁及最通用的Java工具类。以下工具类、方法按使用流行度排名,参考数据来源于Github上随机选取的5万个开源项目源码。一. org.apache.commons.io.IOUtilscloseQuietly:关闭一个IO流、socket、或者selector且不抛出异常,通常放在finally块toStri...转载 2018-12-03 16:08:09 · 153 阅读 · 0 评论 -
基于Spring Boot实现图片上传/加水印
文章共 537字,阅读大约需要 2分钟 !概述很多网站的图片为了版权考虑都加有水印,尤其是那些图片类网站。自己正好最近和图片打交道比较多,因此就探索了一番基于 Spring Boot这把利器来实现从 图片上传 → 图片加水印 的一把梭操作!注: 本文首发于 My Personal Blog:程序羊,欢迎光临 小站本文内容脑图如下:搭建 Spring Boot基础工程过...转载 2018-12-06 14:22:29 · 959 阅读 · 0 评论 -
Java 微信语音 amr 格式转 mp3 格式
少费话,先上代码引入 maven 依赖 <dependency> <groupId>com.github.dadiyang</groupId> <artifactId>jave</artifactId> <version>1.0.0</version> </depende转载 2018-12-18 14:27:00 · 1357 阅读 · 0 评论