Java
文章平均质量分 60
KeepSayingNo
分享改变世界
展开
-
UnsupportedOperationException深层探究
UnsupportedOperationException深层探究原创 2023-03-01 20:17:08 · 531 阅读 · 0 评论 -
挑战BAT面试官之JVM垃圾收集器
BAT一直是广大程序员的梦想殿堂,不仅BAT的待遇在国内的IT行业中领先的,更在于BAT的技术也走在互联网的前列。因此,无论你是想有更高的薪资,还是追求极致的技术,都想去BAT里面镀金,有的可能在里面职位越混越高,有的可能干几年就出来创业或者到小的公司去当CTO。然而BAT的面试向来是非常严苛的,相信60%的人都直接被BAT的面试官干倒,30%的人能和BAT的面试官死磕到底,最后双方都歇斯底里,还有10%的人能干倒BAT的面试官。原创 2020-12-31 21:07:13 · 273 阅读 · 0 评论 -
Java技术进阶推荐书单
1.启蒙篇首先推荐的两本书是Java核心技术,这一套书是获得了第十三届Jolt生成效率大奖,大学的时候几乎是计算机学院的学生爱好Java编程的都会买这两本书进行扫盲。而且这两本书会随着JDK的版本迭代会印刷新的版本,目前最新的已经是11版本了。这两本书系统全面讲解Java语言的核心概念、语法、重要特性和开发方法。《Java核心技术 卷I 基础知识》卷I主要介绍Java语言基础知识的专业级详解,包括写Java代码的基本技术、习惯用法和实践,利用接口、lambda表达式和内部类的功能,有效的异常处理原创 2020-12-31 14:37:02 · 2255 阅读 · 13 评论 -
分析JVM频繁Full GC问题
现在的码农真不好干,不仅要天天搬砖垒代码,还要安排监控系统做运维。既然选择了这行,就应该有使命感去把事情做好,让老板开心,码农虽然很苦逼,但必须要有尊严的活着,不能让产品看不起,我们是有价值的。闲话不多说,今天想聊聊线上问题分析,一些小的异常:业务报错、空指针异常、格式转换异常等这些小儿科就不用多说了,堆栈信息已经显示了对应的类、方法和行号,修下代码就好了。有的时候会出现服务器CPU或者内存飙...原创 2020-12-22 15:40:43 · 1296 阅读 · 0 评论 -
InputStream抽象类的三种实现
文件IO这块可能很多开发者没有涉及,平时的工作主要集中在CRUD的业务逻辑开发上,对于金融或者电信有些核心系统会大量使用文件IO。这里的文件主要是话单或者交易凭证,开发者需要读取这些文件,将文件的内容转为实体或者消息发送给其他的子系统去处理。大家常用的读取和写入文件的方式是用FileInputStream和FileOutputStream,本文将为大家带来另外两种文件读取的方式,让大家在写代码的时候有跟多的选择。InputStream是文件读取的抽象基类,java.io包下的文件读取都会直接或者间接实现.原创 2020-12-22 15:25:36 · 1091 阅读 · 0 评论 -
史上最全面讲解Java流对象Stream
目录Lambda表达式Stream API总结Java8可以说是Java路线图中一个里程碑的版本,虽然自Oracle收购Java后,Java的版本演进非常快,目前Java的版本已经到15了,但是目前绝大数的公司都还用着Java7和Java8,使用Java8的公司里面又有很多没有使用Java8的新特性,原因可能是没必要用或者可能是使用的Spring版本太低如果使用新特性会导致Spring启动有问题等等。因此今天想给大家介绍Java8的新特性,此时可能会有人说为什么要使用Java8的新特性,原创 2020-10-24 15:01:09 · 796 阅读 · 8 评论 -
Guava Cache源码分析和实战
我在2018年的时候写过一篇手写代码实现缓存的文章,大家有兴趣的可以看看文后的链接。今天要向大家隆重推荐的是Google的Guava(石榴)组件里面含有的缓存接口。使用框架的好处就是考虑更充分,性能更优。下面将从源码和实战的角度去分析这个缓存框架。原创 2020-09-16 16:52:56 · 650 阅读 · 2 评论 -
Java中动态运行JS脚本
本文主要阐述了Java可以执行JavaScript脚本,通过这种方式可以让程序能更灵活,有时候可以产生意想不到的结果。原创 2016-08-03 22:56:27 · 3319 阅读 · 0 评论 -
WeakHashMap的使用
WeakHashMap的实现及其应用。原创 2016-12-04 12:33:49 · 1310 阅读 · 0 评论 -
Java反射
Java反射为开发者提供了更灵活的方式编程,可以在运行时操纵类的构造方法、属性和方法。本文介绍了反射如何去使用类的构造方法、属性和类的方法。原创 2017-05-07 20:42:11 · 994 阅读 · 0 评论 -
Json解析方法大全
JSON是一种轻量级的数据交换格式,和XML一样广泛应用于前端和后台的交互。如何高效和安全的解析JSON是摆在广大程序员面前的难题,如果有工具包能帮我们做这些事情就好了,目前有Google公司的Gson,阿里巴巴公司的fastJson,以及Jackson,今天我就讲解下如何通过这3个工具去解析JSON字符串,以及如何将Java对象转换成JSON字符串。原创 2017-06-17 23:53:35 · 4062 阅读 · 1 评论 -
Java小数截断
本文对Java小数截断的几种方式进行了总结。原创 2017-11-21 15:37:07 · 3308 阅读 · 0 评论 -
自己实现缓存
有的时候我们需要频繁用到一些数据,我们不需要频繁去查数据库,这样不仅浪费数据库的IO,也浪费单次业务的时间,如果我们要用到的数据就是数据库中的某一张表的固定数据,那么我们就可以在项目启动的时候将该表的数据加载到缓存中。设计思路:1. 一个加载缓存数据的服务Bean2. 一个存储缓存数据的类实现加载缓存数据的服务Bean采用了实现Spring提供的InitializingBeanpublic...原创 2018-02-15 11:04:32 · 1773 阅读 · 0 评论 -
再探AOP
之前写了一篇《初识AOP》的文章,在灌水区引起了热烈的讨论,这是我始料未及的。这一次将更深入的探寻AOP的奥秘,让大家不再不明觉厉,而是惊叹AOP的鬼斧神工。原创 2016-03-13 12:59:20 · 1064 阅读 · 0 评论 -
初识AOP
本文中生活中的一个例子出发说明了为什么要引入AOP,引入后给我们的编程带来了哪些变化,同时进一步去思考AOP给我们编程思想带来了哪些颠覆,通过两张图展示了AOP如何改变我们的程序设计。原创 2016-02-25 14:33:03 · 2014 阅读 · 8 评论 -
Java排序方法总结
介绍常用的排序方法,采用Java语言实现。原创 2014-05-03 12:45:19 · 1292 阅读 · 0 评论 -
Java开发三剑客
<br /> 本文主要是介绍如何搭建一个基于B/S框架的开发Java Web项目的整体环境,需要安装的软件包括JDK,JBoss,Eclipse,JBoss作为Web Server,Eclipse作为IDE平台。<br /> 安装完JDK后,需要配置环境变量,右键点击桌面的“我的电脑”或者“计算机”,在高级系统设置里面有环境变量设置,参考下图。<br /> <br /><br /> <br /><br /> <br /> 首先增加JAVA_HOME环境变量,在系统变量里新建JAVA_HOM原创 2010-10-31 15:22:00 · 3104 阅读 · 0 评论 -
JUnit的使用
JUnit是一款做单元测试比较好的工具,很多小公司都没有进行单元测试,都一般采用的是黑盒测试,这样通过人力去测试,很多时候效率并不高,这里推采用JUnit进行单元测试,用一个例子说明单元测试是怎么玩的,其实很简单,最重要的是能对接口和函数进行测试,自动化完成,可以清楚看到哪些用例通过,哪些失败。原创 2015-04-18 20:47:23 · 1203 阅读 · 0 评论 -
Struts1和Struts2的区别和对比(完整版)
下面文章转自:http://blog.csdn.net/john2522/article/details/7436307struts2不是struts1的升级,而是继承的webwork的血统,它吸收了struts1和webwork的优势。先看struts的Action官方注释(struts1.3.8源代码)/** * An Action is an adapter between转载 2015-06-03 11:16:26 · 965 阅读 · 0 评论 -
JVM知识
JVM是Java的核心,虽然对于普通开发者这块平常可能不太关注,但是如果一些基本原理不理解,有的时候发生一些疑难异常就会让我们摸不到头脑,无法解决这种意想不到的问题。JVM是通过指令系统、寄存器、栈结构、存储区域和垃圾回收来执行我们的程序。大家可以通过下面的JVM架构图更直观的理解。原创 2015-07-12 12:20:18 · 1358 阅读 · 0 评论 -
Java解析Property文件
在Java项目中一些配置参数保存在Property文件中,这样能保证不修改原代码直接修改Property文件。原创 2015-08-01 13:31:30 · 3734 阅读 · 2 评论 -
Java实现模拟路由功能
本文实现根据路由表适配最优的号段,选择路由器。原创 2015-08-02 12:53:14 · 18101 阅读 · 3 评论 -
为什么要继承
面向对象语言的几大特征包括抽象、继承、封装和多态,对于继承大家都耳熟能详,而且也很容易理解,子类可以继承父类的属性和方法,然而大家是否在程序中真正去用,或者真正理解了为什么要继承,通过面试发现都是背概念。今天想通过一个例子去说明为什么要继承,目的是希望大家能在平时开发中将继承的思想贯穿在coding当中,让软件的可重用性大大提升。原创 2015-10-25 13:09:30 · 3366 阅读 · 0 评论 -
Maven打包报java.lang.OutOfMemoryError
Maven打包项目遇到报java.lang.OutOfMemoryError后提供三种解决方案。原创 2015-10-29 14:21:12 · 3397 阅读 · 0 评论 -
Java可变参数应用实操
本文通过多个例子详细介绍了可变参数的使用以及在使用过程中需要注意的问题,并且通过分析编译后的class文件看出可变参数其实是通过数组来实现的。原创 2015-12-06 11:24:35 · 1657 阅读 · 4 评论 -
xml的两种解析方式
xml解析是日常项目中用到比较多的技能,无论是配置参数或者数据都可以保存在xml文件中,同时也可以将xml作为传输数据的一种格式。本文将介绍两种基本解析方式:xml字符串解析和xml文件解析。原创 2015-07-05 12:41:15 · 3403 阅读 · 7 评论 -
Java重写round()方法
本文采用Java语言实现了对Math类下的round()方法的重写。原创 2014-04-25 14:40:00 · 1776 阅读 · 0 评论