随笔分类 -  java随笔

各种java相关小知识技能
摘要:前言: ​ 好了,终于又开始播放分布式改造剧集了。前面一集中()我们DIY了一个Hessian转发实现,最后我们也留下了一个展望方向:可以实现一个管理界面管理节点,实现简单的服务治理的功能。这一集我们接着继续DIY分布式锁。 第二集:分布式锁DIY 探索之路 ​ 由于业务互斥的需要,当前项目中实现了 阅读全文
posted @ 2018-05-01 22:04 Secondworld 阅读(837) 评论(0) 推荐(1)
摘要:Redis缓存踩坑记 ​ 前言 ​ 这个其实应该属于分布式改造剧集中的一集(第一集见前面博客:),本来按照顺序来的话,不会这么快发布这篇博客。但是,因为这个坑让我浪费太多时间。这个情形和一年前我在另一个项目中试图优化mybatis时简直完全一致,即使拿出了源码来debug还是解决不了这个问题,网上搜 阅读全文
posted @ 2018-04-25 11:47 Secondworld 阅读(5430) 评论(0) 推荐(3)
摘要:使用rpm安装jdk ​ 在前一Linux探索文章中,有关于通过 指令安装原生OpenJDK的命令。当时有大神给出评论,建议最好安装sun的JDK。网上搜索了下JDK与OpenJDK的区别,大致上可以认为OpenJDK是JDK的精简版本。具体区别可以参照这个知乎问题: ​ 话不多说,这里直接给出我在 阅读全文
posted @ 2018-04-24 19:14 Secondworld 阅读(450) 评论(0) 推荐(0)
摘要:前言 上次跟运维去行方安装行内环境,发现linux命令还是不是很熟练。特别是用户权限分配以及vi下的快捷操作。于是决定在本地安装一个CentOS虚拟机,后面有时间就每天学习一点Linux常用命令。 作为一个小白正式入坑CentOS了,于是就有了CentOS摸索系列。后续我会根据自己的摸索情况不间断更 阅读全文
posted @ 2018-04-10 20:49 Secondworld 阅读(2108) 评论(2) 推荐(1)
摘要:问题总述 ​ 我们都知道如果使用Spring来进行bean管理的时候。如果同一个接口的实现类存在两个,直接使用 注解来实现bean注入,会在启动的时候报异常。我们通常的做法是使用 注解来执行bean的名称。不过通过 注解类似于硬编码的方式,如果我们想修改接口的具体实现,必须修改代码。假设我们环境中针 阅读全文
posted @ 2018-03-20 18:43 Secondworld 阅读(770) 评论(1) 推荐(2)
摘要:@Transactional踩坑记 总述 ​ Spring在1.2引入 注解, 该注解的引入使得我们可以简单地通过在方法或者类上添加 注解,实现事务控制。 然而看起来越是简单的东西,背后的实现可能存在很多默认规则和限制。而对于使用者如果只知道使用该注解,而不去考虑背后的限制,就可能事与愿违,到时候线 阅读全文
posted @ 2018-03-10 18:10 Secondworld 阅读(8124) 评论(2) 推荐(0)
摘要:Web Service初探 简介 ​ 简单地说WebService就是一种Web服务,他是一种跨编程语言和操作系统的远程调用技术。WebService的传输依赖于HTTP协议,通过SOAP协议使用XML格式进行数据传输。 ​ WebService的三要素如下: SOAP (Simple Object 阅读全文
posted @ 2018-03-04 09:09 Secondworld 阅读(299) 评论(0) 推荐(0)
摘要:背景 ​ 我在的公司虽然是移动支付领域的公司。但是我做的业务类似于管理系统,所以一开始写代码的时候没有考虑到数据的量的问题。开始有一个统计页面,大概要统计的数据分为十多个维度,然后每个维度需要考虑十个左右的方面。也就是统计页面轻轻地点击一个查询按钮,要进行100次左右的数据库查询。开始数据量小的时候 阅读全文
posted @ 2018-01-27 01:20 Secondworld 阅读(944) 评论(2) 推荐(2)
摘要:GC杂谈之理论入门 JVM堆布局介绍 ​ JVM堆被划分成两个不同的区域:新生代 ( Young )、老年代 ( Old )。新生代 ( Young ) 又被划分为三个区域:Eden、From Survivor、To Survivor,其中两个Survivor区的大小一致。 ​ $堆新生代老年代老年 阅读全文
posted @ 2018-01-25 21:42 Secondworld 阅读(931) 评论(0) 推荐(1)
摘要:When 什么时候需要finally: 在jdk1.7之前,所有涉及到I/O的相关操作,我们都会用到finally,以保证流在最后的正常关闭。jdk1.7之后,虽然所有实现Closable接口的流,可以通过在try块中定义,从而实现jvm自动关闭输入输出流。但其实在我们需要在代码块返回之前,实现在不 阅读全文
posted @ 2018-01-02 23:25 Secondworld 阅读(704) 评论(0) 推荐(0)
摘要:When 什么时候需要了解String的intern方法: 面试的时候(蜜汁尴尬)!虽然不想承认,不过面试的时候经常碰到这种高逼格的问题来考察我们是否真正理解了String的不可变性、String常量池的设计以及String.intern方法所做的事情。但其实,我们在实际的编程中也可能碰到可以利用S 阅读全文
posted @ 2017-12-30 09:58 Secondworld 阅读(35118) 评论(23) 推荐(15)
摘要:When 什么时候需要知道对象的内存大小 在内存足够用的情况下我们是不需要考虑java中一个对象所占内存大小的。但当一个系统的内存有限,或者某块程序代码允许使用的内存大小有限制,又或者设计一个缓存机制,当存储对象内存超过固定值之后写入磁盘做持久化等等,总之我们希望像写C一样,java也能有方法实现获 阅读全文
posted @ 2017-12-12 22:36 Secondworld 阅读(57174) 评论(3) 推荐(4)
摘要:When 什么时候需要序列化和反序列化: 简单的写一个hello world程序,用不到序列化和反序列化。写一个排序算法也用不到序列化和反序列化。但是当你想要将一个对象进行持久化写入文件,或者你想将一个对象从一个网络地址通过网络协议发送到另一个网络地址时,这时候就需要考虑序列化和反序列化了。另外如果 阅读全文
posted @ 2017-12-11 23:00 Secondworld 阅读(3205) 评论(1) 推荐(1)
摘要:总述 同tomcat一样,jetty也是一个servlet引擎,jetty的神奇之处在于,jetty不仅可以作为一个web应用的容器,它甚至还可以作为一个程序中的插件来通过main函数加载web应用程序本身。 Jetty 是一个 Web server/servlet container, 支持 SP 阅读全文
posted @ 2016-10-31 18:54 Secondworld 阅读(770) 评论(0) 推荐(0)
摘要:在运行程序的时候,我们一般可以进行run configuration的配置,就比如tomcat源码导入eclipse之后,我们可以发现其运行配置如下: 其中Program arguments配置的元素就是我们传入main方法的字符串数组,而VM arguments其实就是我们在程序中需要的运行时环境 阅读全文
posted @ 2016-09-02 09:38 Secondworld 阅读(11254) 评论(0) 推荐(0)
摘要:预制条件和spring源码导入eclipse中一样,下面直接给出导入eclipse的步骤。 步骤: 1. 下载struts相应版本的源码 http://struts.apache.org/download.cgi 。我这里下载的是struts-2.3.16-all.zip。下载完成后解压到本地目录。 阅读全文
posted @ 2016-08-31 11:54 Secondworld 阅读(543) 评论(0) 推荐(0)
摘要:前置条件: 1. 正确安装jdk,并配置好JAVA_HOME、PATH。(我这里安装的是jdk1.8) 2. 正确安装好eclipse。(我的eclipse版本是: Neon Release (4.6.0)) 步骤: 1. 首先去下载spring的源码 https://github.com/spri 阅读全文
posted @ 2016-08-31 11:06 Secondworld 阅读(6062) 评论(2) 推荐(0)
摘要:前言: 写完了socket小应用的原始版本,中间还有好多预想的功能没有实现,在写的过程中也发现了很多问题。因为前面有粗略的看过tomcat实现原理解析,知道tomcat其实也是纯java写的web服务器,而且用的也是socket通信。所以特别想看下tomcat是如何处理这些问题的。 主要步骤: 1. 阅读全文
posted @ 2016-08-29 23:34 Secondworld 阅读(2945) 评论(0) 推荐(1)
摘要:前言: 在web编程技术内幕中看到一个用apache组件进行文件下载的例子,对于DiskFileUpload类的setRepositoryPath方法,设置临时文件的存放路径,里面指出如果不调用该方法指定绝对路径。那么会使用"java.io.tempdir"这个环境属性的值。想到前面没有遇到过这个环 阅读全文
posted @ 2016-08-29 09:33 Secondworld 阅读(891) 评论(0) 推荐(0)
摘要:问题描述: 最近在写一个通信相关的项目,服务器端和客户端通过socket进行通信。本来想利用read的阻塞特性,服务器端和客户端按照一定的流程进行文件读写。结果发现客户端或者服务器read方法一直都返回乱码。而且读到的一端可能是客户端,可能是服务器端,固定的读到前面有四个字节的乱码,后续读到的字节码 阅读全文
posted @ 2016-08-28 18:33 Secondworld 阅读(1256) 评论(0) 推荐(0)