java
文章平均质量分 59
骑着毛驴开大奔
在那遥远的地方,有山有水、还有美丽的姑娘,我的家,我的家乡,山清水秀。
welcome to here;
竹海新城-绥江
展开
-
tomcat server.xml各个端口的作用
<Server port="8005" shutdown="SHUTDOWN"><!-- 属性说明 port:指定一个端口,这个端口负责监听关闭Tomcat的请求 shutdown:向以上端口发送的关闭服务器的命令字符串--> <Listener className="org.apache.catalina.core.AprLifecycleListener" /> <Listener className="org.apache.catalina.转载 2020-12-21 16:49:32 · 339 阅读 · 1 评论 -
get布隆过滤器
不知道从什么时候开始,本来默默无闻的布隆过滤器一下子名声大燥,仿佛身在互联网,做着开发的,无人不知,无人不晓,哪怕对技术不是很关心的小伙伴也听过它的名号。我也花了不少时间去研究布隆过滤器,看了不少博客,无奈不是科班出身,又没有那么聪明的头脑,又比较懒...经过“放弃,拿起,放弃,拿起”的无限轮回,应该算是了解了布隆过滤器的核心思想,所以想给大家分享下。布隆过滤器的应用我们先来看下布隆过滤器的应用场景,让大家知道神奇的布隆过滤器到底能做什么。缓存穿透我们经常会把一部分数据放在Redis等缓存,原创 2020-06-23 15:06:10 · 135 阅读 · 0 评论 -
非常硬核的技术知识-CopyOnWrite思想
“ 今天聊一个非常硬核的技术知识,给大家分析一下CopyOnWrite思想是什么,以及在Java并发包中的具体体现,包括在Kafka内核源码中是如何运用这个思想来优化并发性能的。这个CopyOnWrite在面试的时候,很可能成为面试官的一个杀手锏把候选人给一击必杀,也很有可能成为候选人拿下Offer的独门秘籍,是相对高级的一个知识。1、读多写少的场景下引发的问题?大家可以设想一下现在我们的内存里有一个ArrayList,这个ArrayList默认情况下肯定是线程不安全的,要是多个线程并发读和写这转载 2020-05-28 10:54:12 · 183 阅读 · 0 评论 -
EasyExcel 7 行代码优雅地实现 Excel 文件导出功能.
目录 一、前言 二、Apache poi、jxl 的缺陷 三、阿里出品的 EasyExcel,安利一波 四、EasyExcel 解决了什么 五、快速上手 六、特殊场景支持 七、Web 下载示例代码 八、需要注意的点 九、总结 一、前言关于导出 Excel 文件,可以说是大多数服务中都需要集成的功能。那么,...转载 2019-12-19 13:41:27 · 831 阅读 · 0 评论 -
get技能 TCP(ip socket 关系)通信的三次握手和四次撒手的详细流程(顿悟)
TCP(Transmission Control Protocol) 传输控制协议三次握手TCP是主机对主机层的传输控制协议,提供可靠的连接服务,采用三次握手确认建立一个连接:位码即tcp标志位,有6种标示:SYN(synchronous建立联机) ACK(acknowledgement 确认) PSH(push传送) FIN(finish结束) RST(reset重置) URG(...转载 2019-03-28 19:42:00 · 497 阅读 · 0 评论 -
金三银四背后,一个JAVA程序员的面试心得(转载公众号)
得好好攻关一下面试题::下面说一下自己面试过程遇到的一些具体题目和面试心得。阿里面试题 多个线程同时读写,读线程的数量远远大于写线程,你认为应该如何解决并发的问题?你会选择加什么样的锁? JAVA的AQS是否了解,它是干嘛的? 除了synchronized关键字之外,你是怎么来保障线程安全的? Tomcat本身的参数你一般会怎么调整...转载 2019-03-28 19:35:07 · 151 阅读 · 0 评论 -
JAVA中将一个List等分成n个list的工具方法(转载 已亲测!)
很好用的list切分,以前手写了一个 很烂!查找后得到一个很好的工具类!遂以记之!! /** * 将一个list均分成n个list,主要通过偏移量来实现的 * @param source * @return */ public static <T> List<List<T>> averageAssign(List<T> ...转载 2019-03-27 17:01:01 · 1680 阅读 · 0 评论 -
Java自定义类加载器与双亲委派模型
博主亲测有效!遂推荐之!!1. 双亲委派模型关于双亲委派模型,网上的资料有很多。我这里只简单的描述一下,就当是复习。1.1 什么是双亲委派模型?首先,先要知道什么是类加载器。简单说,类加载器就是根据指定全限定名称将class文件加载到JVM内存,转为Class对象。如果站在JVM的角度来看,只存在两种类加载器: 启动类加载器(Bootstrap ClassLoader):...转载 2019-03-27 13:48:01 · 99 阅读 · 0 评论 -
通俗理解ZooKeeper是如何保证数据一致性的
PS:面试的时候未很好的解答! 遂以记之 ZooKeeper是个集群,内部有多个server,每个server都可以连接多个client,每个client都可以修改server中的数据ZooKeeper可以保证每个server内的数据完全一致,是如何实现的呢?答:数据一致性是靠Paxos算法保证的,Paxos可以说是分布式一致性算法的鼻祖,是ZooKeeper的基础Paxos的基...转载 2019-02-26 11:07:58 · 255 阅读 · 0 评论 -
多线程与高并发基础一(超发--多线程悲观锁,乐观锁、类数据库悲观锁乐观锁)
PS:看完文章后对自己以前所做过的并发和锁机制有了深入原理的了解。知其然和知其所以然!遂以记之!关键词:线程,同步,单例,高并发,高访问,死锁一、大规模并发带来的挑战在过去的工作中,我曾经面对过5w每秒的高并发秒杀功能,在这个过程中,整个Web系统遇到了很多的问题和挑战。如果Web系统不做针对性的优化,会轻而易举地陷入到异常状态。我们现在一起来讨论下,优化的思路和方法哈。...转载 2019-02-26 10:40:50 · 864 阅读 · 0 评论 -
zookeeper 解读
Zookeeper Zookeeper是一个开源的分布式协调服务,其设计目标是将那些复杂的且容易出错的分布式一致性服务封装起来,构成一个高效可靠的原语集,并以一些列简单的接口提供给用户使用。其是一个典型的分布式数据一致性的解决方案,分布式应用程序可以基于它实现诸如数据发布/发布、负载均衡、命名服务、分布式协调/通知、集群管理、Master选举、分布式锁和分布式队列等功能。其可以保证如下分布式...转载 2019-03-01 16:24:24 · 154 阅读 · 0 评论 -
(转发)SpringCloud学习:Eureka、Feign(含示例代码) 入门案例!
PS:经博主测试 可以运行! 遂记录之;入门案例一、Spring Cloud Netflix简介SpringCloud是一个基于SpringBoot实现的云应用开发工具,它为基于JVM的云应用开发中的配置故那里、服务发现、断路器、智能路由、微代理、控制总线、全局锁、决策竞选、分布式会话和集群状态管理等操作提供了简单的开发方式。SpringCloud下包含了多个工程,其中的Spring Cl...转载 2019-02-25 17:37:27 · 347 阅读 · 0 评论 -
JDK1.8判断冬令时和夏令时
//判断美国的时间是否在夏令时 public static boolean isDaylightTime(LocalDateTime a) { LocalDateTime startDate = a.withMonth(3).toLocalDate().atTime(2, 0); LocalDateTime startlightDay = startDa...原创 2019-01-25 16:27:45 · 2609 阅读 · 0 评论 -
Java写的获取日期工具类(今天、昨天、本周、上周、本月、上月、本年及特定时间的开始时间和结束时间)
由于获取日期经常会使用到,所有我自己写了一个工具类1、基本上能用上的都写出来了,包括:1)获取当天的开始时间 2)获取当天的结束时间 3)获取昨天的开始时间 4)获取昨天的结束时间 5)获取明天的开始时间 6)获取明天的结束时间 7)获取本周的开始时间 8)获取本周的结束时间 9)获取上周的开始时间 10)获取上周的结束时间 11)获取本月的开始时间 12)获取本月的结束...转载 2019-01-25 16:22:14 · 1247 阅读 · 0 评论 -
第一次认识位图算法(get技能)
楼主酷爱王者,但是由于忙于业务,王者有一段时间没玩了,待再次上线的时候,TM(天美)发来了一封邮件,亲爱的召唤师,欢迎回归王者荣耀,你已有88日没有登录过游戏,这是为你精心准备的回归大礼包,礼包是一些体验卡和砖石等。but作为一名程序猿,让楼主更在意的是88这个数字的统计方式。我们知道王者荣耀用户数很多,假设有一亿用户,如何来记录用户的登录信息,如何来查询活跃用户(如一周内登录三次以上的...转载 2019-03-28 19:44:15 · 179 阅读 · 0 评论 -
《Java 源码分析》Java NIO 之 Selector
《Java 源码分析》 :Java NIO 之 Selector(第一部分Selector.open())关于Selector类主要涉及两个重要的方法,如下:1、Selector.open()2、select()由于篇幅限制,这篇主要从源码的角度来介绍Selector selector = Selector.open()背后主要做了什么,发生了什么。Selector类中的open...转载 2019-05-06 17:52:11 · 251 阅读 · 0 评论 -
javaNIO 理解
问题:linux IO多路复用有epoll, poll, select,知道epoll性能比其他几者要好。也在网上查了一下这几者的区别,表示没有弄明白。IO多路复用是什么意思,在实际的应用中是指什么情况?以及IO多路复用在一些异步web server中的实际应用,就好比nginx是怎样使用epoll来实现异步IO处理的,一个请求到来了,nginx使用epoll接收请求的过程是怎样的?P...原创 2019-05-07 11:13:15 · 222 阅读 · 0 评论 -
注释TODO FIXME XXX
在项目中经常遇见这些东西 遂以记之。TODO: + 说明:如果代码中有该标识,说明在标识处有功能代码待编写,待实现的功能在说明中会简略说明。FIXME: + 说明:如果代码中有该标识,说明标识处代码需要修正,甚至代码是错误的,不能工作,需要修复,如何修正会在说明中简略说明。XXX: + 说明:如果代码中有该标识,说明标识处代码虽然实现了功能,但是实现的方法有待商榷,希望将来能改进...原创 2019-10-09 11:39:17 · 101 阅读 · 0 评论 -
Address already in use: JVM_Bind 端口被占用的几个解决办法
运行Tomcat时若出现Address already in use: JVM_Bind 端口被占用,一般使用下面几个办法可以解决:假设端口为80801.启动cmd, 执行命令netstat -ano|findstr8080,会查询出占用端口号的进程号,这时候执行命令taskkill -f -pid 进程号杀死进程,然后重启Tomcat即可解决2.若方法一...原创 2019-09-26 13:57:39 · 368 阅读 · 0 评论 -
Java关于Properties用法——替换配置文件中的参数
看了spring 源码 参考文献https://www.cnblogs.com/xrq730/p/6785473.html简单说就是反射拿到文件 判断节点最后得出自己想要的不过是格式化而已MessageFormat提供了以与语言无关方式生成连接消息的方式。使用此方法构造向终端用户显示的消息。MessageFormat获取一组对象,格式化这些对象,然后将格式化后的字符串插入到...原创 2019-09-10 14:49:35 · 625 阅读 · 0 评论 -
实质解决方法 Comparison method violates its general contract!
今天遇到一个项目 排序 时不时会报错。List<Integer> collect = Arrays.asList( array ).stream().sorted( (h1, h2) -> (h1).compareTo( h2 ) >= 0 ? 1 : -1 ).collect( Collectors.toList() );JDK7中的Collectio...原创 2019-09-02 15:55:59 · 1626 阅读 · 0 评论 -
spring boot 踩坑记
1,不想要的依赖不要=禁用依赖springboot 官网地址https://doc.yonyoucloud.com/doc/Spring-Boot-Reference-Guide/III.%20Using%20Spring%20Boot/16.2.%20Disabling%20specific%20auto-configuration.htmlimport org.spring...原创 2019-08-22 09:11:11 · 210 阅读 · 0 评论 -
Intellij IDEA中maven更新不下来pom中的jar包,reimport失效
博主亲测有效!问题:Intellij IDEA中使用maven reimport包,一直失败即使我将本地已存在的一个jar包目录删除了,pom文件那里也没飘红提示找不到解决方法:maven设置中去掉离线下载。Work offline:勾选上时不会走maven远程仓库下载的包,会使用本地的jar,如果本地jar缺失,会导入失败要是上面的方法还是不行,强制更新...原创 2019-06-25 10:35:10 · 4394 阅读 · 2 评论 -
Java去除文本中的HTML标签
package com.cms.admin.utils;import java.util.regex.Matcher;import java.util.regex.Pattern;/** * @author mingxiong.tang * @Date: 2019/5/30 17:52 */public class Delhtml { public static St...原创 2019-05-30 19:22:07 · 978 阅读 · 0 评论 -
Java 8 中 Date与LocalDateTime、LocalDate、LocalTime互转
Java8中 java.util.Date 类新增了两个方法,分别是from(Instant instant)和toInstant()方法// Obtains an instance of Date from an Instant object.public static Date from(Instant instant) { try { return new D...原创 2019-05-17 18:10:18 · 257 阅读 · 0 评论 -
如何在java中获取线程异步执行之后的结果
java中提供了Future<V>接口和实现了Future接口的FutureTask<V> 类来将线程执行之后的结果返回(通过get()方法)。1.Future<V>接口Runnable接口执行任务是不返回任何值的,Runnable的run()方法的执行结果是void,而Future接口的call方法是有返回结果的,这是Runnable跟Futur...原创 2019-05-22 10:18:22 · 4303 阅读 · 0 评论 -
Encountered invalid @Scheduled method 'abc': Cron expression must consist of 6 field
博主亲测:MLGG 原来是乌龙!最近在做一个需求的时候,需求是定时+可以手动执行一个job。既然这样的话,我就在Quartz项目里,写了两个cron,一个是定时,另外一个则希望是2月31号cron: 0 0 0 31 2 ? (因为2月根本没有31号,间接表示是永远不执行),哪知道直接一启动就报错了,报的错是无法解析 cron 。。。,既然这样的话,那我只能写一个存在的时间了,...转载 2019-05-20 14:16:06 · 2074 阅读 · 0 评论 -
2019年书单
1 java问题定位技术 ps:09年的书。大部分讲解了思路与过程。 尤其是jvm的调优过程。值得一看的书籍2在读《算法图解》 很基础很详细的一本书。看完后可以很好的理解《数据结构》《编程珠玑》 很奈斯的一本书《最强大脑》 讲解脑力开发《思维导图》 讲解如何使用脑力创造思维3,未读《吸引力法则》 潘石屹推荐《言谈得体并正确处理各种人际关系》 应酬饭局...原创 2019-01-18 14:10:25 · 142 阅读 · 0 评论 -
jdk1.7和jdk1.8hashmap的区别 concurrenthashmap的区别
看完了整个 HashMap 和 ConcurrentHashMap 在 1.7 和 1.8 中不同的实现方式相信大家对他们的理解应该会更加到位。其实这块也是面试的重点内容,通常的套路是:谈谈你理解的 HashMap,讲讲其中的 get put 过程. 1源码有.不坐过多解释: 存取方式1.7 数组+链表。1.8数组+链表+红黑树。 1.8 做了什么优化? 主要做了链表遍历...原创 2018-12-18 14:38:00 · 1514 阅读 · 2 评论 -
Java中小数和百分数的相互转化
import java.text.NumberFormat;//引入数值处理的包import java.text.ParseException;//引入可能出现的异常包String str="34.2%";//字符串类型的百分数NumberFormat nf=NumberFormat.getPercentInstance();//NumberFormat是一个工厂,可以直接getXXX创建,而ge...转载 2018-06-02 15:46:39 · 1544 阅读 · 0 评论 -
使用Dom4j解析XML并忽略约束
Java DOM4J解析器介绍DOM4J是一个开源的,基于Java的库来解析XML文档,它具有高度的灵活性,高性能和内存效率的API。这是java的优化,使用Java集合像列表和数组。它可以使用DOM,SAX,XPath和XSLT。它解析大型XML文档时具有极低的内存占用。优点DOM4J使Java开发的灵活性和XML解析代码易于维护。它是轻量级的,快速的API。DOM4J 类DOM4J定义了几个J...原创 2018-06-22 14:44:21 · 970 阅读 · 0 评论 -
在Java中,如何把两个String[]合并为一个 与 list 合并有异曲同工之妙
在Java中,如何把两个String[]合并为一个?看起来是一个很简单的问题。但是如何才能把代码写得高效简洁,却还是值得思考的。这里介绍四种方法,请参考选用。一、apache-commons这是最简单的办法。在apache-commons中,有一个ArrayUtils.addAll(Object[], Object[])方法,可以让我们一行搞定:String[] both = (String[])...原创 2018-06-12 09:50:32 · 8144 阅读 · 0 评论 -
IntelliJ Idea 常用快捷键列表
真的好全,开始从eclipse转换使用ideaCtrl+Shift + Enter,语句完成“!”,否定完成,输入表达式时按 “!”键Ctrl+E,最近的文件Ctrl+Shift+E,最近更改的文件Shift+Click,可以关闭文件Ctrl+[ OR ],可以跑到大括号的开头与结尾Ctrl+F12,可以显示当前文件的结构Ctrl+F7,可以查询当前元素在当前文件中的引用,然后按 F3 可以选择C...转载 2018-06-02 18:25:36 · 105 阅读 · 0 评论 -
Java类中加载Spring中的ApplicationContext.xml文件的方式
<1>、利用ClassPathXmlApplicationContext,可以从classpath中读取XML文件 //读取一个文件 1. ApplicationContext context= new ClassPathXmlApplicationContext("applicationContext.xml"); UserDAO userDAO= (UserDAO )co...转载 2018-05-17 09:03:37 · 1023 阅读 · 0 评论 -
String类型数字始终保留两位小数
public static void main(String[] args) { DecimalFormat format = new DecimalFormat("0.00"); String abc ="100.456"; String a = format.format(new BigDecimal(abc)); System.out....转载 2018-04-17 13:45:29 · 14281 阅读 · 0 评论 -
java自带观察者模式
Observer对象是观察者,Observable对象是被观察者。官网api文档:http://docs.oracle.com/javase/7/docs/api/1. 实现观察者模式实现观察者模式非常简单,[1]创建被观察者类,它继承自java.util.Observable类;[2]创建观察者类,它实现java.util.Observer接口; 对于被观察者类:添加它的观察者:void add...转载 2018-04-11 14:41:47 · 317 阅读 · 0 评论 -
视频分享 500 G JAVA视频网盘分享(JEECG开源社区)
功德无量JEECG开源社区秉承开源宗旨,分享社区Java架构视频,更多资料点击: www.jeecg.org JEECG师徒架构群③: 24110687Jeecg开设师徒架构学习班(师傅带徒弟模式),有兴趣的可以参加学习 => 开源社区师徒架构班1、javascript视频教程 链接: http://pan.baidu.com/s/1gd57FVH 密码: d9ei2、JP...转载 2018-04-02 16:23:02 · 7131 阅读 · 2 评论 -
抽象类和接口的区别 以及选择抽象类和接口的应用场景
接口和抽象类有什么区别你选择使用接口和抽象类的依据是什么?接口和抽象类的概念不一样。接口是对动作的抽象,抽象类是对根源的抽象。抽象类表示的是,这个对象是什么。接口表示的是,这个对象能做什么。比如,男人,女人,这两个类(如果是类的话……),他们的抽象类是人。说明,他们都是人。人可以吃东西,狗也可以吃东西,你可以把“吃东西”定义成一个接口,然后让这些类去实现它.转载 2016-10-05 10:30:11 · 368 阅读 · 0 评论 -
Java堆、栈和常量池以及相关String的详细讲解(经典中的经典)深入理解
一:在JAVA中,有六个不同的地方可以存储数据: 1. 寄存器(register)。 这是最快的存储区,因为它位于不同于其他存储区的地方——处理器内部。但是寄存器的数量极其有限,所以寄存器由编译器根据需求进行分配。你不能直接控制,也不能在程序中感觉到寄存器存在的任何迹象。 ------最快的存储区, 由编译器根据需求进行分配,我们在程序中无法控制.2. 堆栈(sta转载 2016-10-05 10:20:11 · 339 阅读 · 0 评论 -
java中的接口为什么可以多继承,而其他类则不能实现多继承
代码interface Tmx{}interface Tmx1{}interface Tmx2{}interface tmx3 extends Tmx,Tmx1{}类定义属性和方法 描述某一类事物的抽象 而接口定义的是行为 并不限于任何具体意向。 按照逻辑上来说 单继承更明确 一个子类就应该是其父类代表的事物中的某个更具体的类别 不应该即是这种东西又是那种东西 。而从实原创 2016-10-05 09:43:52 · 736 阅读 · 0 评论