
JAVA
文章平均质量分 95
欢迎来到我们的Java专栏,这里是探索Java编程世界的精彩旅程的起点。无论您是初学者还是资深开发者,无论您对Java有着怎样的热情和需求,我们都将为您提供深度、全面的内容,助您在Java的海洋中航行。
查老师并不渣
路漫漫其修远兮,吾将上下而求索(Q:1099542875)
展开
-
Caffeine本地缓存之道
话说:Java 8的高性能缓存库,干掉GuavaCache:Caffeine才是本地缓存的王Caffeine 是基于Java 8的高性能,接近最佳的缓存库。Caffeine使用Google Guava启发的API提供内存缓存。 改进取决于您设计Guava缓存和ConcurrentLinkedHashMap的体验。LoadingCache<Key,Graph>graphs=Caffeine.newBuilder().maximumSize(10_000)...原创 2021-01-25 10:23:06 · 3973 阅读 · 1 评论 -
mvn command not found(idea for mac)
使用的时候未经允许mvn命令操作如下:第一:vim ~/.bash_profile export IDEA_MAVEN=/Applications/IntelliJ\ IDEA.app/Contents/plugins/maven/lib/maven3 export PATH=$PATH:$IDEA_MAVEN/bin第二:执行mvn -v命令错误,需要添加如下 正确示范:chmod a+x /Applications/IntelliJ\ IDEA.app/Contents/plugin原创 2020-10-09 10:35:50 · 2662 阅读 · 1 评论 -
为什么会产生 java.lang.OutOfMemoryError: Java heap space 错误以及如何解决?
关于 java.lang.OutOfMemoryError: Java heap space 错误,遇到的程序员可能不是很多,但是当你真的遇到的时候,你就会发现我的这篇文章对你的帮助非常的大!引发 java.lang.OutOfMemoryError: Java heap space 错误的主要原因就是在创建新的对象时, 堆内存中的空间不足以存放新创建的对象时发生!所以说,当有人问你:在 Java 中创建一个对象(new 一个正常的类)会不会发生异常?你应该这样回答:当堆内存中的空间不足时,可能会发生翻译 2020-09-23 15:30:31 · 21531 阅读 · 0 评论 -
记:服务器第二次宕机
真正的勇士敢于直面惨淡的人生,敢于正视淋漓的鲜血,真正的程序员勇于面对线上程序出现的BUG,敢于直面错误以及及时解决问题,带来真正意义上的提升与升华。 回想前几个月,也就是2019年,距离这次的记录好像不太远,但是印象比较深刻,也算是项目经自己的手里真真实实的砸手里了,那个时候晴朗的下午,阳光明媚,可以看这篇文章https://blog.youkuaiyun.com/cha...原创 2020-04-22 22:51:36 · 310 阅读 · 0 评论 -
Logback+slf4j实现多环境配置
logback的前世今生,作为log4j的大兄弟,据说性能是log4j的十倍,在此不探讨到底比log4j快多少倍,今天做日志处理使用了logback+slf4j作为日志的处理的主要工具,slf4j很好的兼容了logback,作为facade,无缝兼容助推了logback。首先,我们为什么要写日志呢?我们先仔细了解一下logbackLogback 是由 log4j 创始人设计的又一个开源日记组件,L...原创 2018-04-26 21:58:09 · 4166 阅读 · 1 评论 -
Java实现内存可见性的两种方法比较:synchronized 和 Volatile以及涉及到锁的剖析
这篇文中讲述了通过synchronized和 volatile 变量实现内存可见性的方法,这里比较下二者的区别。* volatile 变量是一种稍弱的同步机制在访问 volatile 变量时不会执行加锁操作,因此也就不会使执行线程阻塞,因此 volatile 变量是一种比 synchronized 关键字更轻量级的同步机制。* 从内存可见性的角度看,写入 volatile 变量相当于退出同步代码块原创 2017-12-22 17:35:44 · 1841 阅读 · 0 评论 -
抽象类和接口的详解(实例)
抽象类和接口在我们的代码中,生活中息息相关,与上图所示,操纵复杂,密切相关,那么问题来了,何谓抽象类,何谓接口?带着这层薄纱,慢慢揭开这层薄纱;也许在古代,新婚之夜,透过这层薄纱,你看到的或者是惊喜,或许是惊悚,不要怕,无论是惊悚还是惊喜,她都会伴你一生。曾几何时?你还会在面试当中与面试官对答如流的解释抽象类和接口吗? 面试官:解释一下抽象类和接口的区别? me: 1、抽象类和接口都不能直原创 2017-12-20 17:15:17 · 19744 阅读 · 15 评论 -
Java泛型详解
1.为什么需要泛型泛型在Java中有很重要的地位,网上很多文章罗列各种理论,不便于理解,本篇将立足于代码介绍、总结了关于泛型的知识。希望能给你带来一些帮助。先看下面的代码: [java] view plain copy List list = new ArrayList(); list.add("优快云_SEU_Cavin");原创 2017-11-10 14:55:55 · 336 阅读 · 0 评论 -
京东面试--总结
特别喜欢一句话:不是因为看到了希望才去坚持,而是因为坚持了才会看到希望。1、现在有T1、T2、T3三个线程,你怎样保证T2在T1执行完后执行,T3在T2执行完后执行?思路:多线程之间怎么协同工作,如何让一个线程执行完毕后处于什么状态。 Thread t1 = new Thread(new T1()); Thread t2 = new Thread(new T2()); Thr原创 2017-11-07 17:36:36 · 6618 阅读 · 0 评论 -
数据结构(冒泡、快速、插入等排序)PHP && JAVA --面试技巧
1.写一个排序算法,可以是冒泡排序或者是快速排序,假设待排序对象是一个维数组。(提示:不能使用系统已有函数,另外请仔细回忆以前学习过的基础知识)php 冒泡排序public funtion sort($array){ $count = count($array); if($count return false; }原创 2016-10-25 22:45:44 · 565 阅读 · 0 评论 -
Map遍历KeySet()和EntrySet的性能差异与源码解析
SetEntryString,String>>entrySet=map.entrySet();SetString>set=map.keySet();`上面就是我们经常用Map进行遍历的两种方式,在此对比一下两者的区别在此我们看一下源码解析:keySet:get方式和getEntry方式的比较 public V get(Object原创 2018-01-29 14:37:43 · 3065 阅读 · 0 评论 -
Java语法糖
Java作为一种与平台无关的高级语言,当然也含有语法糖,这些语法糖并不被虚拟机所支持,在编译成字节码阶段就自动转换成简单常用语法。一般来说Java中的语法糖主要有以下几种: 1. 泛型与类型擦除 2. 自动装箱与拆箱,变长参数、 3. 增强for循环 4. 内部类与枚举类5. switch之String类型泛型与类型擦除Java语言并不是一开始就支持泛型的。在早期的JDK中,只能通过Object类...原创 2018-03-01 15:11:55 · 374 阅读 · 0 评论 -
Spring-Cloud核心组件及底层原理
http://music.163.com/#/song?id=476592630上述为Spring-Cloud的微服务架构集大成者,云计算最佳业务实践。接触spring-cloud有一种男性荷尔蒙的冲动,特别想征服它,我觉得她是喜欢我的,让我想起了辛弃疾的诗:我见青山多抚媚,料青山见我应如是。既然两情相悦,那就让我们去深入了解一下,此处怎么深入…(想什么呢),那就教你一个PUA式的教程...原创 2019-04-17 17:47:13 · 8737 阅读 · 1 评论 -
Spring-data-jpa同时保存entity的问题
在一次开发中,一个很小的问题,spring-data-jpa在一个事务中同时保存entity对象中出现了,unSupport类型,造成保存不成功,看了几篇blog下,发现大家遇到的问题千奇百怪,没有什么解决方案,看了一下stackoverflow,若有所思,避免以后遇到这些问题省略一下探究,若有喜欢自己解决问题的,可以忽略。目的:可以同时保存entity前提:一个事务中根据刚生成的ent...原创 2019-01-11 11:03:43 · 1394 阅读 · 0 评论 -
不可不说的Java“锁”事 - 美团技术团队
前言Java提供了种类丰富的锁,每种锁因其特性的不同,在适当的场景下能够展现出非常高的效率。本文旨在对锁相关源码(本文中的源码来自JDK 8和Netty 3.10.6)、使用场景进行举例,为读者介绍主流锁的知识点,以及不同的锁的适用场景。Java中往往是按照是否含有某一特性来定义锁,我们通过特性将锁进行分组归类,再使用对比的方式进行介绍,帮助大家更快捷的理解相关知识。下面给出本文内容的总体...转载 2018-12-29 15:59:49 · 3024 阅读 · 0 评论 -
SpringBoot集成单点登录-“被挤下线”
SpringBoot配置单点登录前言你好,未来!上个周末过的还行,逛街逛到腿发软,生活还是有仪式感,一生要待自己待你最亲近的人,周一休息,顺便看了看04版天龙八部,塑造了三位英雄人物,共同点:热血男儿,助人为乐,乔峰大侠气概,段誉风流倜傥,虚竹严于律己,久久思考金庸在写的时候,思想与灵魂是何尝不是伟大,让我也陷入了沉思,久久不能自拔。中言前言总会自己乱说一通,然后才能进入主题一些相关而有...原创 2018-12-18 15:20:19 · 9505 阅读 · 6 评论 -
代码检查工具--findBugs
“所谓读书的意义,大概就是让人眼界更开阔,对自我有更清醒的认识,而不至于狂妄。一个人读的书越多,越会意识到自己的匮乏。” 偶然看到中国好声音,健哥,语出惊人,建议多读读书籍“读书同样需要自我约束和自我强制。童话读起来毫不费力,但人的一生不可能只是读童话,还是要强迫自己读一些看不懂、不好读的书。《追忆似水年华》《哈扎尔辞典》这类书不像心灵鸡汤那么好读,但强制自己读下来,一定会...原创 2018-08-12 19:56:38 · 39055 阅读 · 8 评论 -
阿里云消息队列
喜欢这句话,人与人的相遇,正是如此偶然,又放佛命中注定。我们或多或少都有一些自己的喜欢的东西,文章,篮球,跑步,有些注定要坚持,用一生的时间来寻找,梦想这件事,注定是一辈子的事情,要用毕生的心血去实现它,一般写文章前,我总会闲谈几句,抒发一下自身情怀的东西,今天想给大家分享一下看到的一篇文章,关于雷军的,听不错的,如果你有时间驻足停留下,静静的读一下,也许对于有帮助,地址放在这里雷军50岁身价破1...原创 2018-06-05 17:31:05 · 4966 阅读 · 0 评论 -
Multiple representations of the same entity are being merged解决方案
在此记录一下,项目中出现的问题:Multiple representations of the same entity are being merged顾名思义:当出现问题的时候,先考虑出现问题的原因,以及发生的场景,还原当时的面貌,这是一个侦探该有的逼格,真相只有一个。 回归正题:不扯淡蛋了,根据经验,首先我想到的,元素重复merge了,但是问题来了,如果元素重复merge就会造成...原创 2018-04-11 16:19:46 · 5153 阅读 · 2 评论 -
Java8新特性
Java8的十大新特性你了解多少呢?JDK1.8继JDK1.5之后号称革命性改革那下面我们来谈谈Java8的新特性:Lambda表达式、接口的默认方法与静态方法、方法引用、重复注解、扩展注解的支持、Optional、Stream、Date/Time API(JSR 310)、JavaScript引擎Nashorn、Base64等等。1、Lambda表达式 Lambda表达式说是Java8最原创 2017-08-31 17:29:30 · 435 阅读 · 0 评论 -
java在linux系统下文件夹出现中文乱码的问题
用java io写个系统的操作日志进txt文件时,遇到这么个问题:在windows系统上测试过了,是没问题的,但是放到服务器(linux系统)上写到文件的中文都变成了乱码!究其原因,原来是这么个情况:linux下默认字符集是utf-8,而windows默认编码是gbk,而java 往文件里面写入中文时是根据系统默认字符集来写的. 最直接的办法就是在使用java io写文件时强制进行转码.是这样原创 2016-05-17 10:46:49 · 9404 阅读 · 0 评论 -
关于getDefaultInstance和getInstance区别
最近刚做邮箱验证,逐步对邮箱进行解剖,现在做到,在后台修改配置的邮箱,让修改之后的邮箱可以发送邮件,配置的邮箱相当于是一个可移动的接口原创 2016-05-13 10:23:30 · 4740 阅读 · 2 评论 -
怎么提取java代码中的类名、方法名
DescriptionBelow I present you two different ways to get the current Class:Using ThreadUsing getClass()The simplest way to get the name of the class where your code is being executed原创 2016-05-12 10:16:16 · 1485 阅读 · 0 评论 -
mkdir和mkdirs区别
偶然之间,使用到了mkdirs多目录的用法 File fileLogoFolder = new File(imagesPathLogo);//创建logo父目录 if (!fileLogoFolder.isDirectory()) { fileLogoFolder.mkdirs(); } e.setELogo原创 2016-03-13 21:37:47 · 2000 阅读 · 0 评论 -
了解HashMap的get和put内部的工作原理,需要理解透Java HashMap的原理
了解HashMap的get和put内部的工作原理,需要理解透Java HashMap的原理,今天我们单说get和put 的工作原理。一、Put :让我们看下put方法的实现:/** * Associates the specified value with the specified key in this map. If the原创 2016-03-12 22:01:28 · 1946 阅读 · 0 评论 -
COOKIE和SESSION的区别
1. 由于HTTP协议是无状态的协议,所以服务端需要记录用户的状态时,就需要用某种机制来识具体的用户,这个机制就是Session.典型的场景比如购物车,当你点击下单按钮时,由于HTTP协议无状态,所以并不知道是哪个用户操作的,所以服务端要为特定的用户创建了特定的Session,用用于标识这个用户,并且跟踪用户,这样才知道购物车里面有几本书。这个Session是保存在服务端的,有一个唯一标识。在服务原创 2016-04-05 11:23:30 · 425 阅读 · 0 评论 -
Intelij IDEA 快捷键(整理)
忽然间 发现Intelij IDEA 很多快捷键都没有使用过,先在这里学习一边,也得重新整理,以供大家之需,之后供自己学习。【常规】 Ctrl +Shift+Enter,语句完成 Ctrl+E,最近的文件 Ctrl+Shift+E,最近更改的文件Shift+Click,可以关闭文件Ctrl+[ OR ],可以跑到大括号的开头与结尾原创 2016-03-17 12:53:17 · 833 阅读 · 0 评论 -
sendEmail:出现的错误
qq邮箱535 535 Authentication failed qq邮箱在测试smtp邮件服务器时,一,在qq邮箱,设置,账户设置中.开启下smtp.二,设置一下独立密码.三,在配置smtp服务器的密码时,注意一定要填你设置的独立密码.不要用邮箱登录密码.否则会提示535 Authentication failed错误.出现错误的原因: 1、用户名或密码原创 2016-02-18 22:10:57 · 1256 阅读 · 0 评论 -
Nginx 与 tomcat 反向代理配置
Nginx 与 tomcat 反向代理配置 由于本人资金有限,所以经常需要一个服务器中同时运行多个网址,但是问题来了,域名解析是只能80端口进入的,不支持其他端口,而且也不能带后缀,所以如何让多个网址都能进行域名解析成了一个问题,后面百度发现有反向代理这个功能,但是一般Nginx服务器的方向代理教程都是教你如何指向一个虚拟目录的,这个对于用tomcat的人来说我不知道到底能不能行,反正我是没转载 2016-10-12 11:33:18 · 4380 阅读 · 0 评论 -
基于Maven的Springboot+Mybatis+Druid+Swagger2+mybatis-generator框架环境搭建
基于Maven的Springboot+Mybatis+Druid+Swagger2+mybatis-generator框架环境搭建前言最近做回后台开发,重新抓起以前学过的SSM(Spring+Spring MVC+Mybatis),但是发现配置实在过于复杂,好多东西配置起来麻烦,虽然最终是配置出来了,但是还是感觉开发速度跟不上,本来打算切换到jfianl,但是后来发现需要用的几个框架不转载 2016-10-12 11:35:32 · 4971 阅读 · 0 评论 -
SpringMVC源码分析
今天七夕的,何谓七夕,何谓情人节,我能不能与我的织女相遇呢 ?不扯淡了,直接切入正题,你好,我好,不如大家好,所谓大家好才是真的好。 SpringMVC有三个层次,分别是:HttpServletBean 和 FrameworkServlet、DispatcherServlet SpringMVC 实际上市基于方法(handler:Method)处理模式 所以它可以使用单例 Struts:实际上是原创 2017-08-28 17:17:45 · 520 阅读 · 0 评论 -
手写Tomcat容器加载静态资源
实现tomcat容器加载静态资源1、server.javapackage tomcat3;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.net.ServerSocket;import java.net.Socket;/** *原创 2017-08-28 10:13:30 · 824 阅读 · 0 评论 -
Java 导出Excel实例
@ResponseBody @RequestMapping(value = "export", method = RequestMethod.GET, produces = {"application/json;charset=UTF-8"}) public void export(@RequestParam(value = "settleId", required = true) I原创 2017-08-23 20:06:30 · 402 阅读 · 0 评论 -
SSM框架构建-详细整合教程(Spring+SpringMVC+MyBatis)
SSM框架构建-详细整合教程(Spring+SpringMVC+MyBatis)不断犯错,不断的尝试,才会正真成长。 –longjingchatips : 之前网上看了一篇搭建的SSM框架的blog,写的不错,今天我试着对我身在其中的错原创 2017-09-04 18:23:28 · 864 阅读 · 0 评论 -
Java IOC和AOP解析
1、IOC控制反转:控制权由对象转向容器,由容器对bean对象进行控制。2、AOP面向切面编程:把具体的类创建对应的代理类,通过代理类对具体类进行操作AOP面向切面编程,即在不修改源代码的情况下,对原有功能进行扩展,通过代理类来对具体类进行操作。 (Spring是通过AOP的手段达到事务控制的,具体实现是靠spring-asm.jar和cglib.jar,因为这两个jar都原创 2017-08-14 17:35:49 · 2932 阅读 · 0 评论 -
Spring注解剖析
为什么会有Spring注解呢?那我们先了解一下注释配置相对于XML配置具有很多的优势它可以充分利用 Java 的反射机制获取类结构信息,这些信息可以有效减少配置的工作。如使用 JPA 注释配置 ORM 映射时,我们就不需要指定 PO 的属性名、类型等信息,如果关系表字段和 PO 属性名、类型都一致,您甚至无需编写任务属性映射信息——因为这些信息都可以通过 Java 反射机制获取。注原创 2017-08-08 17:50:37 · 285 阅读 · 0 评论 -
数据结构--单例模式
单例模式:懒汉式,饿汉式第一种:懒汉式,线程不安全 Java代码 重点内容 public class Singleton { private static Singleton instance; private Singleton (){} public static Singleton getInstance() { if (instanc原创 2017-05-03 13:56:08 · 410 阅读 · 0 评论 -
详解JAVA实现支付宝接口编程
//实现java支付宝很简单,只要从支付宝官方下载http://help.alipay.com/support/index_sh.htm下载程序,配置一下参数就OK了; 1.先到http://help.alipay.com/support/index_sh.htm下接口程序,右下角有个“接口资料下载”点击下载进入下载页面http://club.alipay.com/read.php原创 2017-02-17 10:33:36 · 38719 阅读 · 9 评论 -
Angular.watch性能问题和ngInfiniteScroll
angular能够满足很大一部分的开发,也足够replace jquery,下面我们来谈谈angular一些功能的好处 双向绑定是Angular的核心概念之一,它给我们带来了思维方式的转变:不再是DOM驱动,而是以Model为核心,在View中写上声明式标签。然后,Angular就会在后台默默的同步View的变化到Model,并将Model的变化更新到View。原创 2016-03-16 14:51:41 · 1469 阅读 · 0 评论