
Java
文章平均质量分 84
码类人生
猿类的世界不止于Coding
展开
-
JVM字节码指令手册
通常jdk 进行的编译生成的 .class 是 16 进制数据文件,不利于学习分析。通过下命令javap -c Demo.class > Demo.txt或者其他方式可反汇编,得到字节码文件下面简单记录下相关指令分类,如有不证,欢迎指出。。。一、指令分类(1)操作数栈运算符变量到操作数栈 iload, iload_, lload, lload_, fload, fload...原创 2020-03-13 12:22:57 · 478 阅读 · 0 评论 -
SpringMVC 开发 RESTFul API
RestFul API一般的API都是什么样子的呢?查询 /user/query?name=tom GET详情 /user/getInfo?id=1 GET创建 /user/create?name=tom POST修改 /user/update?id=1&name=jay POST删除 /...原创 2018-09-19 16:03:48 · 369 阅读 · 0 评论 -
代码性能调优“三十六”策
代码优化,一个很重要的课题。可能有些人觉得没用,一些细小的地方有什么好修改的,改与不改对于代码的运行效率有什么影响呢?这个问题我是这么考虑的,就像大海里面的鲸鱼一样,它吃一条小虾米有用吗?没用,但是,吃的小虾米一多之后,鲸鱼就被喂饱了。代码优化也是一样,如果项目着眼于尽快无BUG上线,那么此时可以抓大放小,代码的细节可以不精打细磨;但是如果有足够的时间开发、维护代码,这时候就必须考虑每个可以优化的...转载 2018-09-19 18:48:26 · 243 阅读 · 0 评论 -
Java多线程--互联网面试必备知识点
本文是我刷了几十篇一线互联网校招java后端开发岗位的面经后总结的多线程相关题目,虽然有点小长,但是面试前看一看,相信能帮你轻松啃下多线程这块大骨头。什么是进程,什么是线程?为什么需要多线程编程?进程间的通信方式、线程间的通信方式实现多线程的三种方法三种创建多线程方法的对比线程状态线程控制wait、notify、notifyAll的区别sleep() 和 wait() 有什么区别...转载 2018-09-20 11:07:29 · 258 阅读 · 0 评论 -
Java成神之路
一、基础篇JVMJVM内存结构堆、栈、方法区、直接内存、堆和栈区别Java内存模型内存可见性、重排序、顺序一致性、volatile、锁、final垃圾回收内存分配策略、垃圾收集器(G1)、GC算法、GC参数、对象存活的判定JVM参数及调优Java对象模型oop-klass、对象头、Java内存模型及内存结构、对象模型区分HotSpot即时编译器、编译优化类加载机制c...转载 2019-02-21 17:56:55 · 878 阅读 · 0 评论 -
为什么阿里巴巴禁止工程师直接使用日志系统(Log4j、Logback)中的 API
作为Java程序员,我想很多人都知道日志对于一个程序的重要性,尤其是Web应用。很多时候,日志可能是我们了解应用程序如何执行的唯一方式。所以,日志在Java Web应用中至关重要,但是,很多人却以为日志输出只是一件简单的事情,所以会经常忽略和日志相关的问题。在接下来的几篇文章中,我会来介绍介绍这个容易被大家忽视,但同时也容易导致故障的知识点。Java语言之所以强大,就是因为他很成熟的生态体系...转载 2019-02-21 18:17:55 · 239 阅读 · 0 评论 -
JDK 8中字符串拼接新辅助:StringJoiner
为什么JDK8会新增这样一个string辅助类呢?原有的StringBuilder死板,不支持分割,如果想让最终的字符串以逗号隔开,需要这样写:StringBuilder sb = new StringBuilder();IntStream.range(1,10).forEach(i->{ sb.append(i+""); if( i < 10){ ...原创 2019-02-25 11:40:37 · 724 阅读 · 0 评论 -
IntelliJ IDEA 常用快捷键整理
最常用代码结构优化Ctrl+Alt+L:格式化代码Ctrl+Alt+I:将选中的代码进行自动缩进编排,这个功能在编辑JSP文件时也可以工作Ctrl+Alt+O:优化导入的类和包(去掉无用的import语句)Ctrl+/或Ctrl+Shift+/:注释(//或者/**/)Ctrl+Shift+J:两行合成一行,删去不必要的空格匹配代码格式跳转定位Ctrl+Alt+B:跳转到方...转载 2019-03-08 17:03:56 · 385 阅读 · 0 评论 -
深入探究 JVM | 探秘 Metaspace
Java 8 彻底将永久代 (PermGen) 移除出了 HotSpot JVM,将其原有的数据迁移至 Java Heap 或 Metaspace。这一篇文章我们来总结一下Metaspace(元空间)的特性。如有错误,敬请指出,谢谢~引言:永久代为什么被移出HotSpot JVM了?在 HotSpot JVM 中,永久代中用于存放类和方法的元数据以及常量池,比如Class和Method。每当一...原创 2019-04-29 15:48:50 · 528 阅读 · 0 评论 -
聊聊Dubbo:架构原理
无论是Dubbo还是Dubbox,包括在网上介绍的其他框架,其本质都是远程调用框架,而对于远程调用如果没有分布式的需求,其实是不需要用这么重的框架,只有在分布式的时候,才有Dubbo这样的分布式服务框架的需求,说白了就是个远程服务调用的分布式框架,其重点在于分布式的治理。那Dubbox这样的框架在分布式治理方面带来了哪些核心功能呢?1 Dubbo核心功能Remoting:远程通讯,提供对多种...转载 2019-05-08 11:50:17 · 323 阅读 · 0 评论 -
Java内存模型
1. 概述多任务和高并发是衡量一台计算机处理器的能力重要指标之一。一般衡量一个服务器性能的高低好坏,使用每秒事务处理数(Transactions Per Second,TPS)这个指标比较能说明问题,它代表着一秒内服务器平均能响应的请求数,而TPS值与程序的并发能力有着非常密切的关系。在讨论Java内存模型和线程之前,先简单介绍一下硬件的效率与一致性。2.硬件的效率与一致性由于计算机的存储设...转载 2019-05-15 17:11:26 · 191 阅读 · 0 评论 -
RedisTemplate读取slowlog
序本文主要研究一下如何使用RedisTemplate(lettuce类库)读取slowlogmaven <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-d...转载 2018-09-10 18:36:52 · 916 阅读 · 0 评论 -
开源可视化Java性能监控工具简介
衡量任何应用程序最重要的指标之一就是性能。 我们希望确保用户能够获得最佳的体验,并确保我们的应用程序正常运行, 这就是为什么大多数人至少使用一个监控工具的原因。如果你想在性能监控市场上寻找一些不同的东西,选择一款开源工具是不错的选择之一。 在下面的博文中,我们收集了一些开源的APM工具,这些工具目前已经可以替代付费工具,大家可以看看它是否是你的最佳选择。拥抱开源APM市场是一个拥挤的市...原创 2018-09-06 17:01:18 · 8253 阅读 · 0 评论 -
java安全沙箱(一)之ClassLoader双亲委派机制
java是一种类型安全的语言,它有四类称为安全沙箱机制的安全机制来保证语言的安全性,这四类安全沙箱分别如下:类加载体系.class文件检验器内置于Java虚拟机(及语言)的安全特性安全管理器及Java API本篇博客主要介绍“类加载体系”的基本原理;如需了解其它几类安全机制可以关注我的博客进入查看。简介“类加载体系”及ClassLoader双亲委派机制。java程序中的 ....原创 2018-08-28 16:20:27 · 205 阅读 · 0 评论 -
java安全沙箱(二)之.class文件检验器
java是一种类型安全的语言,它有四类称为安全沙箱机制的安全机制来保证语言的安全性,这四类安全沙箱分别如下:类加载体系.class文件检验器内置于Java虚拟机(及语言)的安全特性安全管理器及Java API本篇博客主要介绍“.class文件检验器”的基本原理;如需了解其它几类安全机制可以关注我的博客进入查看。简介jvm的.class文件检验器用于检查.class文件是否拥...原创 2018-08-28 16:33:06 · 211 阅读 · 0 评论 -
java安全沙箱(三)之内置虚拟机安全特性
java是一种类型安全的语言,它有四类称为安全沙箱机制的安全机制来保证语言的安全性,这四类安全沙箱分别如下:类加载体系.class文件检验器内置于Java虚拟机(及语言)的安全特性安全管理器及Java API本篇博客主要介绍“内置于Java虚拟机(及语言)的安全特性”的基本原理;如需了解其它几类安全机制可以关注我的博客进入查看。 简介jvm装载一个类,并且对字节码进行了四趟扫...原创 2018-08-28 16:39:54 · 273 阅读 · 0 评论 -
java安全沙箱(四)之安全管理器及Java API
java是一种类型安全的语言,它有四类称为安全沙箱机制的安全机制来保证语言的安全性,这四类安全沙箱分别如下:类加载体系.class文件检验器内置于Java虚拟机(及语言)的安全特性安全管理器及Java API本篇博客主要介绍“类安全管理器及Java API”的基本原理,如需了解其它几类安全机制可以关注我的博客进入查看。 简介java安全沙箱的前三类保证了jvm所运行程序的完整...原创 2018-08-28 16:47:38 · 336 阅读 · 0 评论 -
爬虫入门
爬虫简单的说网络爬虫(Web crawler)也叫做网络铲(Web scraper)、网络蜘蛛(Web spider),其行为一般是先“爬”到对应的网页上,再把需要的信息“铲”下来。分类网络爬虫按照系统结构和实现技术,大致可以分为以下几种类型:通用网络爬虫(General Purpose Web Crawler)、聚焦网络爬虫(Focused Web Crawler)、增量式网络爬虫...转载 2018-08-31 14:25:46 · 1105 阅读 · 0 评论 -
史上最全阿里 Java 面试题
JAVA基础JAVA中的几种基本数据类型是什么,各自占用多少字节。String类能被继承吗,为什么。String,Stringbuffer,StringBuilder的区别。ArrayList和LinkedList有什么区别。讲讲类的实例化顺序,比如父类静态数据,构造函数,字段,子类静态数据,构造函数,字 段,当new的时候,他们的执行顺序。用过哪些Map类,都有什么区别,Hash...转载 2018-08-28 18:10:09 · 1650 阅读 · 0 评论 -
外行人都能看懂的SpringCloud,错过了血亏!
一、前言这篇主要来讲讲SpringCloud的一些基础的知识。(我就是现学现卖了,主要当做我学习SpringCloud的笔记吧!)当然了,我的水平是有限的,可能会有一些理解错的的概念/知识点,还请大家不吝在评论区指正啊~~SpringCloud GitHub Demo(看完文章的同学可以自己练手玩玩): https://github.com/ZhongFuCheng3y/msc-Demo...转载 2018-08-29 13:54:34 · 470 阅读 · 0 评论 -
JVM内存区图文详解
基本问题:介绍下 Java 内存区域(运行时数据区)Java 对象的创建过程(五步,建议能默写出来并且要知道每一步虚拟机做了什么)对象的访问定位的两种方式(句柄和直接指针两种方式)拓展问题:String类和常量池8种基本类型的包装类和常量池Java程序员必看文档 哈哈 皮一下!我自己开源的一个Java学习指南文档。一份涵盖大部分Java程序员所需要掌握的核心知识,正...转载 2018-08-29 15:16:15 · 305 阅读 · 0 评论 -
Java并发编程---volatile关键字解析
volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java 5之后,volatile关键字才得以重获生机。volatile关键字虽然从字面上理解起来比较简单,但是要用好不是一件容易的事情。由于volatile关键字是与Java的内存模型有关的,因此在讲述volatile关键之前,我们先来了解...转载 2018-09-04 18:08:33 · 199 阅读 · 0 评论 -
Java servlet、filter、listener、interceptor简介
版权声明:本文为博主原创文章,转载本博文章请在文章明显处注明原文的链接和作者信息,便于读者找到原文的更新版servlet、filter、listener、interceptor对比一、概念1.servlet:一种运行服务器端的java应用程序,具有独立于平台和协议的特性,并且可以动态的生成web页面,它工作在客户端请求与服务器响应的中间层。2.filter:一个可以复用的代码片段,...原创 2018-09-05 13:53:32 · 316 阅读 · 0 评论 -
ibatis升级到mybatis总结
ibatis升级到mybatis,不是简单的升级包就OK了,为什么这么说呢?因为升级后,调用接口变了,配置文件的写法也变了,所以从某种程度来说,mybatis不是ibatis的升级版,只是一个家族出来的,长得像而已,升级的工作量还是很大的。下面我们就来实际升级一下,毕竟ibatis最终是要淘汰的,同时mybatis也给我们在日常开发中提高了工作效率。升级流程如下:1、移出项目中的i...原创 2018-08-28 13:50:23 · 9233 阅读 · 5 评论