摘要: 当你在浏览器地址栏输入一个URL后回车,将会发生的事情? 原文:http://igoro.com/archive/what-really-happens-when-you-navigate-to-a-url/ 作为一个软件开发者,你一定会对网络应用如何工作有一个完整的层次化的认知,同样这里也包括这些 阅读全文
posted @ 2019-06-25 16:03 孙伟业 阅读(216) 评论(0) 推荐(0) 编辑
摘要: Spring事务机制主要包括声明式事务和编程式事务,此处侧重讲解声明式事务,编程式事务在实际开发中得不到广泛使用,仅供学习参考。 Spring声明式事务让我们从复杂的事务处理中得到解脱。使得我们再也无需要去处理获得连接、关闭连接、事务提交和回滚等这些操作。再也无需要我们在与事务相关的方法中处理大量的 阅读全文
posted @ 2019-06-24 17:32 孙伟业 阅读(205) 评论(0) 推荐(0) 编辑
摘要: 问题起源 事情得从一个多线程编程里面臭名昭著的问题"Lost wake-up problem"说起。 这个问题并不是说只在Java语言中会出现,而是会在所有的多线程环境下出现。 假如我们有两个线程,一个消费者线程,一个生产者线程。生产者线程的任务可以简化成将count加一,而后唤醒消费者;消费者则是 阅读全文
posted @ 2019-06-19 22:57 孙伟业 阅读(2882) 评论(1) 推荐(1) 编辑
摘要: 为了大家对JDK有一个全面的了解,下面我为大家整理了JDK5~11的所有关键新特性! 先看一下JDK的版本迭代图: 注: OpenJDK和JDK区别 GPL协议通用性公开许可证(General Public License) LTS是长期支持(Long Term Support)的缩写 关于Java 阅读全文
posted @ 2019-06-17 09:12 孙伟业 阅读(287) 评论(0) 推荐(0) 编辑
摘要: 任何程序都追求正确有效的运行,除了保证我们代码尽可能的少出错之外,我们还要考虑如何有效的处理异常,一个良好的异常框架对于系统来说是至关重要的。最近在采集框架的时候系统的了解一边,收获颇多,特此记录相关的理论。 1 .异常体系简介: 异常是指由于各种不期而至的情况,导致程序中断运行的一种指令流,如:文 阅读全文
posted @ 2019-06-14 17:08 孙伟业 阅读(918) 评论(2) 推荐(0) 编辑
摘要: Java 提供了三种创建线程的方法 通过实现 Runnable 接口来创建线程 通过继承Thread类 通过Callable和Future创建线程 Runnable和Callable的异同: 相同点: 不同点: 注意点: Callable接口支持返回执行结果,此时需要调用FutureTask.get 阅读全文
posted @ 2019-06-14 15:35 孙伟业 阅读(801) 评论(0) 推荐(0) 编辑
摘要: 代理(Proxy)是一种设计模式,通俗的讲就是通过别人达到自己不可告人的目的(玩笑)。 如图: 代理模式的关键点是:代理对象与目标对象.代理对象是对目标对象的扩展,并会调用目标对象 这三个代理模式,就像是更新换代,越来越先进。动态代理解决了静态代理必须同目标对象继承同一个接口或类,CGlib解决了动 阅读全文
posted @ 2019-06-12 17:06 孙伟业 阅读(349) 评论(1) 推荐(1) 编辑
摘要: 1.创建一个Test.java文件,并输入内容 2.使用javac命令编译Test.java文件,得到Test.class文件 3.使用Sublime3打开Test.class 4.使用javap命令,反编译Test.class文件 输出为: 使用命令: 输出为: 用法摘要: -help 帮助-l 阅读全文
posted @ 2019-06-12 11:13 孙伟业 阅读(4720) 评论(0) 推荐(0) 编辑
摘要: 一、简介 CAS机制:(Compare and set)比较和替换 简单来说–>使用一个期望值来和当前变量的值进行比较,如果当前的变量值与我们期望的值相等,就用一个新的值来更新当前变量的值CAS有三个操作数:内存值V、旧的预期值A、要修改的值B,当且仅当预期值A和内存值V相同时(条件),将内存值修改 阅读全文
posted @ 2019-06-04 12:04 孙伟业 阅读(2761) 评论(0) 推荐(0) 编辑
摘要: 先看一段java代码,func返回值为int: 正确的返回结果是,func返回1。 分析可总结为: 如果finally中没有return语句,但是改变了要返回的值,这里有点类似与引用传递和值传递的区别,分以下两种情况,: 1)如果return的数据是基本数据类型或文本字符串**,则在finally中 阅读全文
posted @ 2019-05-30 22:06 孙伟业 阅读(1241) 评论(0) 推荐(0) 编辑