09 2022 档案

摘要:最近脑袋发热追着java8源码看的很起劲,还有了执念,罪过。 本文以jdk1.8.0_111源码为例 public final class Optional {} Optional是一个为了解决NullPointerException设计而生可以包含对象也可以包含空的容器对象。封装了很多对空处理的方 阅读全文
posted @ 2022-09-12 20:01 ebuybay 阅读(112) 评论(0) 推荐(0) 编辑
摘要:大多数开发人员认为性能优化是个比较复杂的问题,需要大量的经验和知识。是的,这并不没有错。诚然,优化应用程序以获得最好的性能并不是一件容易的事情,但这并不意味着你在没有获得这些经验和知识之前就不能做任何事。下面有几个很容易遵循的建议和最佳实践能够帮你创建一个性能良好的应用程序。 这些建议中的大多数都是 阅读全文
posted @ 2022-09-12 20:00 ebuybay 阅读(245) 评论(0) 推荐(0) 编辑
摘要:这种方式仅适合于比较小的项目,例如只有一两台服务器,而且配置文件是可以直接修改的。例如 Spring mvc 以 war 包的形式部署,可以直接修改resources 中的配置文件。如果是 Spring boot 项目,还想用这种方式的话,就要引用一个外部可以编辑的文件,比如一个固定的目录,因为 s 阅读全文
posted @ 2022-09-12 19:59 ebuybay 阅读(1230) 评论(0) 推荐(0) 编辑
摘要:问题: 由于公司业务扩大,各个子系统陆续迁移和部署在不同的数据源上,这样方便扩容,但是因此引出了一些问题。 举个例子:在查询"订单"(位于订单子系统)列表时,同时需要查询出所关联的"用户"(位于账户子系统)的姓名,而这时由于数据存储在不同的数据源上,没有办法通过一条连表的sql获取到全部的数据,而是 阅读全文
posted @ 2022-09-12 19:59 ebuybay 阅读(31) 评论(0) 推荐(0) 编辑
摘要:当通过 Java 实现业务实例时,对资源进行处理是司空见惯的。一般情况下,资源(如文件或 socket 句柄)封装在对象中,使用后必须关闭才能释放资源。通常开发人员有责任关闭自己所创建的资源,以避免资源冲突,一般都会放在 finally 语句块中处理。不这样做其实也不会产生编译错误,但很容易导致资源 阅读全文
posted @ 2022-09-12 19:58 ebuybay 阅读(40) 评论(0) 推荐(0) 编辑
摘要:前言 代码优化,一个很重要的课题。可能有些人觉得没用,一些细小的地方有什么好修改的,改与不改对于代码的运行效率有什么影响呢?这个问题我是这么考虑的,就像大海里面的鲸鱼一样,它吃一条小虾米有用吗?没用,但是,吃的小虾米一多之后,鲸鱼就被喂饱了。代码优化也是一样,如果项目着眼于尽快无BUG上线,那么此时 阅读全文
posted @ 2022-09-12 19:57 ebuybay 阅读(97) 评论(0) 推荐(0) 编辑
摘要:前言 最近在读《Thinking in Java》,看到这样一段话: Primitives that are fields in a class are automatically initialized to zero, as noted in the Everything Is an Objec 阅读全文
posted @ 2022-09-12 19:56 ebuybay 阅读(174) 评论(0) 推荐(0) 编辑
摘要:java在new一个对象的时候,会先查看对象所属的类有没有被加载到内存,如果没有的话,就会先通过类的全限定名来加载。加载并初始化类完成后,再进行对象的创建工作。 我们先假设是第一次使用该类,这样的话new一个对象就可以分为两个过程:加载并初始化类和创建对象。 一、类加载过程(第一次使用该类) jav 阅读全文
posted @ 2022-09-12 19:56 ebuybay 阅读(75) 评论(0) 推荐(0) 编辑
摘要:垃圾回收的对象 程序中的不可用对象(不存活的对象,没有任何引用),或者无用的变量信息等,在程序中长期存在会逐渐占用较多的内存空间,导致没有足够的空间分配给新生成的对象等. 判断哪些是需要回收的对象 早期jdk使用引用计数法,计数每个对象的引用次数,对于没有引用的对象进行删除,但是该方法无法处理循环引 阅读全文
posted @ 2022-09-12 19:55 ebuybay 阅读(109) 评论(0) 推荐(0) 编辑
摘要:网上有很多人探讨Java中异常捕获机制try...catch...finally块中的finally语句是不是一定会被执行?很多人都说不是,当然他们的回答是正确的,经过我试验,至少有两种情况下finally语句是不会被执行的: try语句没有被执行到,如在try语句之前就返回了,这样finally语 阅读全文
posted @ 2022-09-12 19:54 ebuybay 阅读(40) 评论(0) 推荐(0) 编辑
摘要:快速排序是一种排序执行效率很高的排序算法,它利用分治法来对待排序序列进行分治排序,它的思想主要是通过一趟排序将待排记录分隔成独立的两部分,其中的一部分比关键字小,后面一部分比关键字大,然后再对这前后的两部分分别采用这种方式进行排序,通过递归的运算最终达到整个序列有序,下面我们简单进行阐述。 我们从一 阅读全文
posted @ 2022-09-03 14:27 ebuybay 阅读(1034) 评论(0) 推荐(0) 编辑
摘要:之前我也写过不少介绍面试相关的博文,有些文章的点击量还不低,这些面试相关的经验大多都是从我面试别人的过程中提炼出来了。 在18年底到19年3月,陆续面试了几家公司,有成有不成的,最终进了一家比较满意的知名外企。在本文里,我将介绍我这段时间里更新简历和面试的相关经历。可能面试相关的一些方法,大家能从我 阅读全文
posted @ 2022-09-03 14:26 ebuybay 阅读(227) 评论(0) 推荐(0) 编辑
摘要:成为一个优秀的Java程序员,有着良好的代码编写习惯是必不可少的。下面就让我们来看看代码编写的30条建议吧。 (1) 类名首字母应该大写。字段、方法以及对象(句柄)的首字母应小写。对于所有标识符,其中包含的所有单词都应紧靠在一起,而且大写中间单词的首字母。例如: ThisIsAClassName t 阅读全文
posted @ 2022-09-03 14:24 ebuybay 阅读(713) 评论(0) 推荐(0) 编辑
摘要:大家可能都听说说 Java 中的并发包,如果想要读懂 Java 中的并发包,其核心就是要先读懂 CAS 机制,因为 CAS 可以说是并发包的底层实现原理。 今天就带大家读懂 CAS 是如何保证操作的原子性的,以及 Java8 对 CAS 进行了哪些优化。 synchronized:大材小用 我们先来 阅读全文
posted @ 2022-09-03 14:23 ebuybay 阅读(559) 评论(0) 推荐(0) 编辑
摘要:相信看这篇文章的朋友都已经知道进程和线程的区别,也都知道了为什么要使用多线程了。 这两个方法主要来源是,sleep用于线程控制,而wait用于线程间的通信,与wait配套的方法还有notify和notifyAll. 区别一: sleep是Thread类的方法,是线程用来 控制自身流程的,比如有一个要 阅读全文
posted @ 2022-09-03 14:22 ebuybay 阅读(43) 评论(0) 推荐(0) 编辑
摘要:大家可能都听说说 Java 中的并发包,如果想要读懂 Java 中的并发包,其核心就是要先读懂 CAS 机制,因为 CAS 可以说是并发包的底层实现原理。 今天就带大家读懂 CAS 是如何保证操作的原子性的,以及 Java8 对 CAS 进行了哪些优化。 synchronized:大材小用 我们先来 阅读全文
posted @ 2022-09-03 14:22 ebuybay 阅读(166) 评论(0) 推荐(0) 编辑
摘要:Swing是目前Java中不可缺少的窗口工具组,是建立图形化用户界面(GUI)程序的强大工具。Java Swing组件自动产生各种事件来响应用户行为。Java将事件封装成事件类,并且为每个事件类定义了一个事件监听器。一个组件注册事件监听器方法,表明该组件要响应指定事件。也就是说我们可以通过注册监听器 阅读全文
posted @ 2022-09-03 14:21 ebuybay 阅读(185) 评论(0) 推荐(0) 编辑
摘要:最近公司一个项目需要连接两个数据库(A和B)操作,有的模块查询A库,有的模块查询B库,因此需要改造下,项目后台用的是SpringMVC+Mybatis+MySQL架构,折腾了两天后终于搞定了,在这里记录过改造过程。 使用场景 多数据源的使用的场景一般有: 主从数据库切换读写分离兼容旧库 实现原理 S 阅读全文
posted @ 2022-09-03 14:20 ebuybay 阅读(488) 评论(0) 推荐(0) 编辑
摘要:一、介绍 1.1 Logback Logback是由log4j创始人设计的另一个开源日志组件,它分为下面下个模块: logback-core:其它两个模块的基础模块logback-classic:它是log4j的一个改良版本,同时它完整实现了slf4j API使你可以很方便地更换成其它日志系统如lo 阅读全文
posted @ 2022-09-03 14:18 ebuybay 阅读(433) 评论(0) 推荐(0) 编辑
摘要:Spring 中有时候我们需要存储一些和 Request 相关联的变量,例如用户的登陆有关信息等,它的生命周期和 Request 相同。一个容易想到的实现办法是使用 ThreadLocal: public class SecurityContextHolder { private static fi 阅读全文
posted @ 2022-09-03 14:17 ebuybay 阅读(296) 评论(0) 推荐(0) 编辑
摘要:Spring Jpa这项技术在Spring 开发中经常用到。 今天在做项目用到了Entity的关联懒加载,但是在返回Json的时候,不管关联数据有没有被加载,都会触发数据序列化,而如果关联关系没有被加载,此时是一个HibernateProxy,并不是真实的数据,而导致了报错。 例如这个Topic E 阅读全文
posted @ 2022-09-02 20:52 ebuybay 阅读(356) 评论(0) 推荐(0) 编辑
摘要:最近有很多人面试,其中不乏说对 Spring Boot 非常熟悉的,然后当我问到一些 Spring Boot 核心功能和原理的时候,没人能说得上来,或者说不到点上,可以说一个问题就问趴下了! 这是我的问题: 我看你上面写了熟悉 Spring Boot,那你能讲下为什么我们要用 Spring Boot 阅读全文
posted @ 2022-09-02 20:52 ebuybay 阅读(15) 评论(0) 推荐(0) 编辑
摘要:熟悉Redis的同学应该知道,Redis的每个Key都可以设置一个过期时间,当达到过期时间的时候,这个key就会被自动删除。这就是Redis的过期策略。 在为key设置过期时间需要注意的事项 1、 DEL/SET/GETSET等命令会清除过期时间 在使用 DEL、SET、GETSET 等会覆盖key 阅读全文
posted @ 2022-09-02 20:51 ebuybay 阅读(625) 评论(0) 推荐(0) 编辑
摘要:来自:知乎 这问题你应该去问企业级Java架构师。 就比如print一句hello world吧。main函数里print一下?太面向过程,太low了。 得封装一个类。叫Printer. Printer有个成员方法,叫print。 但是!光一个类太low了,以后要是有不同的实现怎么办?所以得加一个接 阅读全文
posted @ 2022-09-02 20:48 ebuybay 阅读(18) 评论(0) 推荐(0) 编辑
摘要:你,上海土著,家境贫寒,没房没车,普通师范本科+垃圾文科专业。大四毕业后你的同学不是考同校毛邓三专业的研究生就是去小学初中做老师、去考公务员,或者去做行政HR工作。你不想和他们一样,当时的你认为自己并非池中物,是迟早要做CEO的,于是壮志凌云地注册了51job,看了几天发现没有技能要求的似乎只有X平 阅读全文
posted @ 2022-09-02 20:48 ebuybay 阅读(35) 评论(0) 推荐(0) 编辑
摘要:有什么比花时间写注释更令人感到兴奋的事情吗?如果我没有猜错,你可能会说:“不好意思,所有事情都比写注释更令人感到兴奋”。如果有人要你给代码加上注释,对你来说就像是一种侮辱。你的代码写得如此优雅,它已经足以说明它要做的事情,注释是多余的,代码就是一切。 无论是开源项目还是专业软件开发,代码注释通常有两 阅读全文
posted @ 2022-09-02 20:47 ebuybay 阅读(38) 评论(0) 推荐(0) 编辑
摘要:目录: MySQL都有什么锁什么情况下会造成死锁常见的死锁案例 1. MySQL都有什么锁 MySQL有三种锁的级别:页级、表级、行级。 表级锁:开销小,加锁快;不会出现死锁;锁定粒度大,发生锁冲突的概率最高,并发度最低。 行级锁:开销大,加锁慢;会出现死锁;锁定粒度最小,发生锁冲突的概率最低,并发 阅读全文
posted @ 2022-09-02 20:46 ebuybay 阅读(49) 评论(0) 推荐(0) 编辑
摘要:相信大家已经注意到了,运维人员的大部分时间都花在电脑桌前工作,这会损害运维人员的健康。其实不需要多么复杂的养生,你只需每天做一些小小的改变,就可以摆脱病痛、保持健康。下面介绍一下我的一些经验给大家。希望对大家有所启发。 虽然站立桌、昂贵的椅子和一些基于人体工程学的玩意的确很酷,哪怕LINUS(lin 阅读全文
posted @ 2022-09-02 20:45 ebuybay 阅读(42) 评论(0) 推荐(0) 编辑
摘要:一直在物色比较好用的网络传输数据序列化工具,看了诸如marshalling,protobuff等,但是均有一个共同特点,使用起来异常繁杂,有没有比较好用同时性能又不会太差的组件呢?答案当然是有的,那就是基于protobuff改造的protostuff,它拥有良好性能的同时,又免去了生成描述文件的烦恼 阅读全文
posted @ 2022-09-02 20:44 ebuybay 阅读(222) 评论(0) 推荐(0) 编辑
摘要:当需要从数据库查询的表有上万条记录的时候,一次性查询所有结果会变得很慢,特别是随着数据量的增加特别明显,这时需要使用分页查询。 对于数据库分页查询,也有很多种方法和优化的点。下面简单说一下我知道的一些方法。 准备工作 为了对下面列举的一些优化进行测试,下面针对已有的一张表进行说明。 表名:order 阅读全文
posted @ 2022-09-02 20:43 ebuybay 阅读(121) 评论(0) 推荐(0) 编辑

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