java
老新人
这个作者很懒,什么都没留下…
展开
-
【SpringCloud分布式框架搭建】一文读懂,docker容器部署springCloud微服务莫名停止的原因
前提说明:为公司新的架构的技术选型为,springCloud 架构搭建微服务,在ECS以docker形式,部署每个微服务。并为每个docker容器,设置内存限制。在服务部署上线后,发现经常有微服务,莫名的停止。日志上却没有任何error错误。很让人捉急。具体配置如下:1、docker 容器的创建:docker run -dit \-m 640M --memory-swap -1...原创 2020-04-15 21:29:12 · 1499 阅读 · 2 评论 -
jdk8 ---jstat命令查看jvm的GC情况 (以Linux为例)
jstat命令可以查看堆内存各部分的使用量,以及加载类的数量。命令的格式如下:jstat [-命令选项] [vmid] [间隔时间/毫秒] [查询次数]注意!!!:使用的jdk版本是jdk8.1、类加载统计:[root@slave_informationr_main project]# jstat -class 252Loaded Bytes Unloaded ...原创 2020-04-15 18:05:08 · 1501 阅读 · 0 评论 -
Java生产环境下性能监控与调优详解完整学习笔记
本文主要内容包含 JVM的参数类型 jinfo & jps(参数和进程查看) jstat(类加载、垃圾收集、JIT 编译) jmap+MAT(内存溢出) jstack(线程、死循环、死锁) JVisualVM(本地和远程可视化监控) 使用 BTrace 进行拦截调试 Tomcat 性能监控与调优 ...转载 2020-03-21 16:49:39 · 640 阅读 · 0 评论 -
Linux下如何查看JDK安装路径
1:echo $JAVA_HOME使用$JAVA_HOME的话能定位JDK的安装路径的前提是配置了环境变量$JAVA_HOME,否则如下所示,根本定位不到JDK的安装路径[root@localhost ~]# java -versionjava version "1.7.0_65"OpenJDK Runtime Environment (rhel-2.5.1.2.el6_5-x86...原创 2019-12-27 12:57:26 · 124 阅读 · 0 评论 -
上传图片到OSS,并按指定大小范围压缩图片。完整工具类+三层调用
使用阿里的Oss服务器,做图片服务器。 项目功能为,前端,调用后端的接口,上传用户的图片!1、controller类@RestController@RequestMapping("/oss/file")public class FileController { private static final Logger logger = LoggerFactory.getLog...原创 2019-12-17 12:16:50 · 2313 阅读 · 0 评论 -
【异常】LocalDateTime序列化问题:Cannot construct instance of `java.time.LocalDateTime`
错误信息:Caused by: com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Cannot construct instance of `java.time.LocalDateTime` (no Creators, like default construct, exist): no String-argument...原创 2019-12-16 18:41:29 · 17267 阅读 · 1 评论 -
【SpringCloud分布式框架搭建】docker-compose安装redis5 集群。并集成到springCloud中
准备工作:编写 redis.conf文件。直接贴出bind 0.0.0.0protected-mode no# 监听端口port 6305tcp-backlog 511timeout 0tcp-keepalive 300daemonize nosupervised nopidfile /var/run/redis_6305.pid# 日志级别...原创 2019-11-16 18:12:37 · 440 阅读 · 0 评论 -
Java利用反射如何查找使用指定注解的类详解
前言最近有些空,想自己写个跟spring里的注解一样的注解来用,然后希望能找到使用了自己写了注解的类,下面来介绍一下实现方法声明,下面代码是没看过spring源码写的,基本上都是网上找的博客,整理的定义注解Controller.java? 1 2 3 4 5 6 @Target({ElementType.T...原创 2019-11-06 12:20:10 · 2013 阅读 · 0 评论 -
JAVA之 多线程下的 HashMap 的死循环原因
(转)在淘宝内网里看到同事发了贴说了一个CPU被100%的线上故障,并且这个事发生了很多次,原因是在Java语言在并发情况下使用HashMap造成Race Condition,从而导致死循环。这个事情我4、5年前也经历过,本来觉得没什么好写的,因为Java的HashMap是非线程安全的,所以在并发下必然出现问题。但是,我发现近几年,很多人都经历过这个事(在网上查“HashMap Infinite...原创 2019-03-31 23:53:59 · 145 阅读 · 0 评论 -
@RequestParam Required String parameter 'delJsonString' is not present
错误代码:2019-06-12 16:05:22.115 WARN 19800 --- [nio-9860-exec-8] Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required String parameter 'delJsonString' is not prese...原创 2019-06-12 16:16:34 · 1547 阅读 · 0 评论 -
The bean '.FeignClientSpecification', defined in null, could not be registered. A bean with that nam
错误信息:Description:The bean 'sxbs-mall3.FeignClientSpecification', defined in null, could not be registered. A bean with that name has already been defined in null and overriding is disabled.截图:...原创 2019-06-12 18:23:14 · 8776 阅读 · 3 评论 -
浅谈SpringBoot处理url中的参数的注解
1.介绍几种如何处理url中的参数的注解@PathVaribale 获取url中的数据@RequestParam 获取请求参数的值@GetMapping 组合注解,是 @RequestMapping(method = RequestMethod.GET) 的缩写(1)PathVaribale 获取url中的数据看一个例子,如果我们需要获取Url=localhost:8080/h...原创 2019-06-14 10:21:20 · 251 阅读 · 0 评论 -
RestFull 的 CRUD 的四种 方式
HTTP 常用的 四种请求方式GET: 获取资源 POST:创建或更新资源 PUT: 创建或更新资源 DELETE:删除资源GET 对应 selectDELETE 对应 delete这里主要描述一下 POST 与 PUT 的区别,即对应的 update 和 insert:在更新资源的操作上,POST 和 PUT 基本相同。在创建资源时,PUT可以指定资源路径,POST无法...原创 2019-06-17 17:16:44 · 861 阅读 · 0 评论 -
springCloud框架 consumer端通过FeignClient调用 provider端时,无法成功,而是直接进入对应的fallback
springCloud框架 consumer端通过FeignClient调用 provider端时,无法成功,而是直接进入对应的fallback 。原因:provider 端暴露的接口api, 必须是 post 方式调用。不能使用 get.同样,FeignClient 必须跟provider 端,同样使用 post方式。如下:/************************...原创 2019-06-12 14:10:49 · 4424 阅读 · 0 评论 -
为什么面试要问hashmap 的原理
HashMap的工作原理是近年来常见的Java面试题。几乎每个Java程序员都知道HashMap,都知道哪里要用HashMap,知道HashTable和HashMap之间的区别,那么为何这道面试题如此特殊呢?是因为这道题考察的深度很深。这题经常出现在高级或中高级面试中。投资银行更喜欢问这个问题,甚至会要求你实现HashMap来考察你的编程能力。ConcurrentHashMap和其它同步集合的引入...原创 2019-03-31 23:44:26 · 524 阅读 · 0 评论 -
HashMap和LinkedHashMap的区别
HashMap,LinkedHashMap,TreeMap都属于MapMap 主要用于存储键(key)值(value)对,根据键得到值,因此键不允许键重复,但允许值重复。HashMap是一个最常用的Map,它根据键的HashCode 值存储数据,根据键可以直接获取它的值,具有很快的访问速度。HashMap最多只允许一条记录的键为Null;允许多条记录的值为 Null;HashMap不支...原创 2019-03-31 22:53:00 · 126 阅读 · 0 评论 -
Session在浏览器关闭之后的状态
通常情况下,我们所说的失效是指我们无法继续对其进行利用。对此我们必须要清楚自己口中所说的失效到底是什么意思。事实上,当我们关闭浏览器时,我们只是关闭了客户端,而 session 是存储在服务端上的,所以从理论上讲,session 的消失和浏览器的关闭并没有多大的关系。再者,在我们平时的编程中可能会碰到这样的问题:打开浏览器测试后一段时间不去理会它,再次刷新时发现 session 失效了。从...原创 2019-03-29 23:17:15 · 553 阅读 · 0 评论 -
Java中如何使用Cookie
Cookie Cookie是客户端技术,程序把每个用户的数据以cookie的形式写给用户各自的浏览器。当用户使用浏览器再去访问服务器中的web资源时,就会带着各自的数据去。这样,web资源处理的就是用户各自的数据了。 Java提供的操作Cookie的API Java中的javax.servlet.http.Cookie类用于创建一个Cookie Cookie类的主...原创 2019-03-29 23:22:18 · 3451 阅读 · 0 评论 -
Java常见面试题之:ArrayList和Vector的区别
答:这两个类都实现了List接口(List接口继承了Collection接口),它们都是有序集合,即存储在这两个集合中的元素的位置都是有顺序的,相当于一种动态的数组,我们以后可以按位置索引号取出某个元素,,并且其中的数据是允许重复的,这是HashSet之类的集合的最大不同处,HashSet之类的集合不可以按索引号去检索其中的元素,也不允许有重复的元素(本来题目问的与hashset没有任何关系,但为...原创 2019-03-29 23:31:53 · 513 阅读 · 0 评论 -
Java常见面试题之:List、Map、Set三个接口,存取元素时,各有什么特点?
这样的题属于随意发挥题:这样的题比较考水平,两个方面的水平: 是要真正明白这些内容。 是要有较强的总结和表述能力。如果你明白,但表述不清楚,在别人那里则等同于不明白。 首先,List与Set具有相似性,它们都是单列元素的集合,所以,它们有一个功共同的父接口,叫Collection。Set里面不允许有重复的元素,所谓重复,即不能有两个相等(注意,不是...原创 2019-03-29 23:40:35 · 836 阅读 · 0 评论 -
java常见面试题之:说说 ArrayList,Vector, LinkedList的存储性能和特性
ArrayList和Vector都是使用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作,所以索引数据快而插入数据效率较低,Vector由于使用了synchronized(同步)方法(线程安全),通常性能上较ArrayList差。 LinkedList使用双向链表实现存储,按序号索引数据需要...原创 2019-03-29 23:43:07 · 935 阅读 · 0 评论 -
Java常见面试题之: 垃圾回收的优点和原理。并考虑2种回收机制
Java语言中一个显著的特点就是引入了垃圾回收机制,使C++程序员最头疼的内存管理的问题迎刃而解,它使得Java程序员在编写程序的时候不再需要考虑内存管理。垃圾回收可以有效的防止内存泄露,有效的使用内存。垃圾回收器通常是作为一个单独的低级别的线程(后台线程)运行,不可预知的情况下对内存堆中已经死亡的或者长时间没有使用的对象进行清除和回收,程序员不能实时的调用垃圾回收器对某个对象或所有对象进行垃圾回...原创 2019-03-29 23:53:51 · 1592 阅读 · 1 评论 -
Java常见面试题之:深入了解Java 的 TreeSet
Java中的TreeSet是Set的一个子类,TreeSet集合是用来对象元素进行排序的,同样他也可以保证元素的唯一。那TreeSet为什么能保证元素唯一,它是怎样排序的呢?先看一段代码:public static void demo() { TreeSet<Person> ts = new TreeSet<>(); ts.add...原创 2019-03-30 19:58:34 · 601 阅读 · 0 评论 -
Java数据结构和算法(十一)——红黑树
1、红-黑树的特征 有如下两个特征: ①、节点都有颜色; ②、在插入和删除的过程中,要遵循保持这些颜色的不同排列规则。 第一个很好理解,在红-黑树中,每个节点的颜色或者是黑色或者是红色的。当然也可以是任意别的两种颜色,这里的颜色用于标记,我们可以在节点类Node中增加一个boolean型变量isRed,以此来表示颜色的信息。 第二点,在插入或者删除一个节点时,必须要遵...原创 2019-03-30 20:30:06 · 129 阅读 · 0 评论 -
java常见面试题之:垃圾回收器的基本原理是什么?垃圾回收器可以马上回收内存吗?有什么办法主动通知虚拟机进行垃圾回收?
基本原理(对象引用遍历方式): 对于GC(垃圾收集)来说,当程序员创建对象时,GC就开始监控这个对象的地址、大小以及使用情况。 通常,GC采用有向图的方式记录和管理堆(heap)中的所有对象。 通过这种方式确定哪些对象是"可达的",哪些对象是"不可达的"。 当GC确定一些对象为"不可达"时,GC就有责任回收这些内存空间。 垃圾回收器不可以马上回收内存。 垃圾收集器不可以被强制...原创 2019-03-30 20:30:30 · 4514 阅读 · 0 评论 -
HashMap 和 Hashtable 的区别
1、HashMap 和 Hashtable 都实现了 Map、Cloneable(可复制)、Serializable(可序列化)这三个接口。2、HashMap 继承AbstractMap, Hashtable 继承Dictionary。3、HashMap 在只有一个线程访问的情况下,效率高于Hashtable。4、先有Hashtable (始于初始版本,作者:Json Bloch),后...原创 2019-03-27 00:26:23 · 203 阅读 · 0 评论 -
面向对象的4个基本特征
抽象: 抽象就是将一些事物的共性和相似点抽离出来,并将这些属性归为一个类,这个类只考虑这些事物的共性和相似之处, 并且会忽略与当前业务和目标无关的那些方面,只将注意力集中在与当前目标有关的方面。 封装: 封装是为了隐藏内部实现细节,是保证软件部件具有优良的模块性的基础。封装的目标就是要实现软件部件“高内聚,低耦合”,防止程序之间的相互依赖性带来的变动影响。 继承: 在定义和实现一...转载 2019-03-27 00:32:56 · 294 阅读 · 0 评论 -
Java代码编译过程简述
代码编译是由Javac编译器来完成,流程如下图1所示:图1Javac是一种编译器,能将一种语言规范转化成另外一种语言规范,通常编译器都是将便于人理解的语言规范转化成机器容易理解的语言规范,如C/C++或者汇编语言都是将源代码直接编译成目标机器码,这个目标机器代码是CPU直接执行的指令集合。这些指令集合也就是底层的一种语言规范。Jav...原创 2019-03-31 14:44:24 · 286 阅读 · 0 评论 -
常量折叠----以及 String 的几种常用比较
常量折叠是Java在编译期做的一个优化,简单的来说,在编译期就把一些表达式计算好,不需要在运行时进行计算。其中Java语言规范15.28规定了Java的常量表达式可以表示原始类型或者字符串;它们不但可以由纯粹的字面量构成,还可以包含能在编译时确定结果的运算,包括+、-、~、!、*、/、%、<<、>>、>>>、<、>、<=、>=...原创 2019-03-31 15:22:45 · 300 阅读 · 0 评论 -
几种情况下,java类加载器会主动加载初始化class
java虚拟机规范虽然没有强制性约束在什么时候开始类加载过程,但是对于类的初始化,虚拟机规范则严格规定了几种情况必须立即对类进行初始化,如果类没有进行过初始化,则需要先触发其初始化。在触发初始化是会有加载和连接(验证,准备,解析)阶段(不懂的看这个文章:https://blog.csdn.net/xiao1_1bing/article/details/81120787)。生成这几种最常见的jav...原创 2019-03-31 15:48:44 · 374 阅读 · 0 评论 -
Java常用排序算法/程序员必须掌握的8大排序算法
本文由网络资料整理而来,如有问题,欢迎指正!参考链接:维基百科-排序算法// 排序原始数据// 排序原始数据private static final int[] NUMBERS ={49, 38, 65, 97, 76, 13, 27, 78, 34, 12, 64, 5, 4, 62, 99, 98, 54, 56, 17, 18, 23, 34, 15, 35, 25...原创 2019-03-10 19:35:45 · 144 阅读 · 0 评论