随笔分类 -  Java

Java相关的东西放在这个分类,基本上是只针对Java这个语言的语法,IED,工具等信息
摘要:校验注释列表: 阅读全文
posted @ 2019-12-13 15:36 系统攻城狮 阅读(2567) 评论(0) 推荐(0) 编辑
摘要:1、stackoverflow: 每当java程序启动一个新的线程时,java虚拟机会为他分配一个栈,java栈以帧为单位保持线程运行状态;当线程调用一个方法是,jvm压入一个新的栈帧到这个线程的栈中,只要这个方法还没返回,这个栈帧就存在。 如果方法的嵌套调用层次太多(如递归调用),随着java栈中 阅读全文
posted @ 2019-09-19 18:00 系统攻城狮 阅读(1412) 评论(1) 推荐(0) 编辑
摘要:Java启动参数共分为三类; 其一是标准参数(-),所有的JVM实现都必须实现这些参数的功能,而且向后兼容; 其二是非标准参数(-X),默认jvm实现这些参数的功能,但是并不保证所有jvm实现都满足,且不保证向后兼容; 其三是非Stable参数(-XX),此类参数各个jvm实现会有所不同,将来可能会 阅读全文
posted @ 2019-09-19 17:25 系统攻城狮 阅读(276) 评论(0) 推荐(0) 编辑
摘要:上周公司有一个应用,一到晚上高峰期的时候RT(响应时间)就很长。后来上服务器看了下JVM的配置,发现运维在启动参数那里把-Xss给设成了10M。导致每个线程占用的内存过大,导致内存消耗过快,其它线程排队等待的情况。后来把-Xss改成1M之后,系统性能有明显的提高。 总结: 1.-Xss参数不可以设的 阅读全文
posted @ 2019-09-19 17:06 系统攻城狮 阅读(896) 评论(0) 推荐(0) 编辑
摘要:JAVA堆内存管理是影响性能主要因素之一。堆内存溢出是JAVA项目非常常见的故障,在解决该问题之前,必须先了解下JAVA堆内存是怎么工作的。 先看下JAVA堆内存是如何划分的,如图: 在JDK1.8版本废弃了永久代,替代的是元空间(MetaSpace),元空间与永久代上类似,都是方法区的实现,他们最 阅读全文
posted @ 2019-09-19 16:50 系统攻城狮 阅读(262) 评论(0) 推荐(0) 编辑
摘要:前言: 对于JVM学习用处的理解:我们程序员写的代码,虽说是放在服务器(linux)系统上的。但是很多时候,受JVM的影响,其实程序并没有发挥出服务器的最大性能。这时候,JVM就成为了瓶颈了。有瓶颈就要想办法优化解决,这和程序内部的优化一样。区别是,程序的优化一版是重构代码,而JVM的优化,往往是通 阅读全文
posted @ 2019-09-18 09:54 系统攻城狮 阅读(463) 评论(0) 推荐(0) 编辑
摘要:java常用知识点: 1.Java动态代理只能够对接口进行代理,不能对普通的类进行代理(因为所有生成的代理类的父类为Proxy,Java类继承机制不允许多重继承);CGLIB能够代理普通类;2.Java动态代理使用Java原生的反射API进行操作,在生成类上比较高效;CGLIB使用ASM框架直接对字 阅读全文
posted @ 2019-09-16 16:43 系统攻城狮 阅读(1339) 评论(0) 推荐(0) 编辑
摘要:MQ的好处: 1.业务上接口(系统扩展性变强) 2.性能提升(同步变异步,效率提高,还方便做负载均衡) 3.技术兼容(可以连接各种不同语言的系统,作为粘合剂) 读书笔记: 1.消息队列的应用场景:系统集成。其它方案是,通过写数据库,定时轮询来读取数据 2.信道(channel)的好处是:可以减少TC 阅读全文
posted @ 2019-08-27 11:15 系统攻城狮 阅读(274) 评论(0) 推荐(0) 编辑
摘要:支持不同长度的字符串,自动加星号处理: 阅读全文
posted @ 2019-03-02 11:40 系统攻城狮 阅读(561) 评论(0) 推荐(0) 编辑
摘要:前因:因为本系统中,有大数据高并发的场景。在向下游系统发送请求的时候,需要限流。否则会造成下游系统的堵塞。 实现方案1: Thread.sleep(ms). 优点:简单粗暴,一行代码搞定 缺点:有点low,万一线程被抢了,无法唤醒怎么办 实现方案2: Guava的RateLimiter类 优点:简单 阅读全文
posted @ 2018-11-15 15:36 系统攻城狮 阅读(1607) 评论(0) 推荐(0) 编辑
摘要:经过:今天在用s3接口做ceph储存的时候,要实现一个io下载的接口。需要把InputStream转成byte[],一开始,是的写法是这样的: 可是下载的文件稍大一些,就会出现乱码。于是换了网上推荐的,使用byte缓存的方法,来实现InputStream转成byte[]: 乱码的情况就解决了 总结: 阅读全文
posted @ 2018-10-24 12:03 系统攻城狮 阅读(11357) 评论(0) 推荐(0) 编辑
摘要:如果直接在日志或者System.out.println中打印java对象,会打印这个对象的内存地址,而不是具体内容。 为了便于调试,一般的做法有2种: 1.重写toStrong方法 2.将对象传入JSON.toJSONString()方法 如果是在日志中打印,一般不建议使用JSON.toJSONSt 阅读全文
posted @ 2018-09-27 15:38 系统攻城狮 阅读(2378) 评论(0) 推荐(0) 编辑
摘要:简介: 1.spring 与unix、window这些操作在计算机系统中起到的作用是类似的 2.两大核心模块:IOC\AOP 3.为应用开发提供了许多现成的系统组件:事务处理、Web MV、JDBC、O/R映射、远程调用等,这些组件可以在开源软件和商业产品中自由选择,重复体现了Spring的开放性。 阅读全文
posted @ 2018-09-06 18:12 系统攻城狮 阅读(606) 评论(0) 推荐(0) 编辑
摘要:使用ziplin依赖: 应用启动报错:Caused by: java.lang.ClassNotFoundException: zipkin.Component 解决方法:指定更高版本的spring cloud 阅读全文
posted @ 2018-08-22 21:17 系统攻城狮 阅读(7595) 评论(0) 推荐(0) 编辑
摘要:1.long与double在java中本身都是用64位存储的,但是他们的存储方式不同,导致double可储存的范围比long大很多 2.long可以准确存储19位数字,而double只能准备存储16位数字(实际测试,是17位,)。double由于有exp位,可以存16位以上的数字,但是需要以低位的不 阅读全文
posted @ 2018-08-16 12:15 系统攻城狮 阅读(22073) 评论(0) 推荐(0) 编辑
摘要:过期删除策略: Redis无论有没有设置expire,他都会遵循redis的配置好的删除机制,在配置文件里设置:redis最大内存不足"时,数据清除策略,默认为"volatile-lru"。volatile-lru ->对"过期集合"中的数据采取LRU(近期最少使用)算法.如果对key使用"expi 阅读全文
posted @ 2018-08-16 11:08 系统攻城狮 阅读(213) 评论(0) 推荐(0) 编辑
摘要:概述: 今天在使用spring boot框架的时候,踩了一个坑,是关于control层request body依赖注入的问题的,内容如下: 进过: 由于目前公司采用的系统架构,要求把springboot的control层,以接口的形式单独暴露出入,而具体control层的代码,则放在另一个包里实现。 阅读全文
posted @ 2018-07-27 19:56 系统攻城狮 阅读(1713) 评论(0) 推荐(0) 编辑
摘要:今天在看《图解设计模式》,里面出了一个问题“String类用final修饰,导致它无法被继承(扩展),这样做违反了开闭原则,这么做有什么正当理由?” 答案是效率和安全性 首先是效率,由于String类它基本上是最频繁使用的几个类之一,如果使用的不好,会出现很明显的性能问题。所以干脆做成final类的 阅读全文
posted @ 2018-06-27 15:17 系统攻城狮 阅读(425) 评论(0) 推荐(0) 编辑
摘要:今天在搭建spring cloud的时候,发现一直报“java.lang.TypeNotPresentException: Type javax.xml.bind.JAXBContext not present”的错误 后来发现,原来是因为用了jdk10的缘故。因为JAXB-API是java ee的 阅读全文
posted @ 2018-05-11 15:24 系统攻城狮 阅读(897) 评论(0) 推荐(0) 编辑
摘要:1、stackoverflow: 每当java程序启动一个新的线程时,java虚拟机会为他分配一个栈,java栈以帧为单位保持线程运行状态;当线程调用一个方法是,jvm压入一个新的栈帧到这个线程的栈中,只要这个方法还没返回,这个栈帧就存在。 如果方法的嵌套调用层次太多(如递归调用),随着java栈中 阅读全文
posted @ 2018-03-08 11:45 系统攻城狮 阅读(271) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示