Kanon Blog

山水禽兽和年少一梦

synchronized关键字的三种用法

synchronized关键字的三种用法 注:java提供了两种锁机制,一种是内置的锁synchronized,另一种是显示的Lock对象   1.synchronized直接指定加锁对象 对给定对象加锁,进入同步代码前要获得给定对象的锁 package 并发; public class FirstThread implements Runnable{ public void ru...

Docker vs VM

先放上Docker官网的对比原文 Containers vs. virtual machines Consider this diagram comparing virtual machines to containers: Virtual Machine diagram Virtual machines (VMs) are an abstraction of physical har...

控制反转和依赖注入

写这篇文章的初衷,是在面试时老被问到控制反转和依赖注入是什么意思,而自己的回答无外乎两句话:减少模块间的耦合;将对象间的依赖交给Spring来管理。 这样的回答说好听点是简单明了,说难听点是一笔带过,差强人意。如果面试官再往深层次问,自己认知的浅薄怕是毫无招架之力。 本着一个坑绝不能摔倒三次的原则,在对控制反转和依赖注入做了进一步研究之后,写下此文欲填此坑! 一个螺丝刀刀柄和刀头的例子...

Cafe Babe

今天查看编译Java程序生成的.class字节码文件的时候,无意中发现潜藏在一连串数字里的小秘密,如下: 每一个字节码文件的前四个字节都是cafe babe。 第一时间浮现脑海的是————咖啡宝贝????黑人问号。于是便立即google了下,跳出了这么一串解释 “We used to go to lunch at a place called St Michael’s Al...

浅谈多态

多态性 本质:一个接口(名字),多种实现 C++中的体现:一个基类的指针(或引用)在调用基类的虚函数时,最终调用的却是派生类中的同名虚函数 #include<iostream> using namespace std; class animal{ public: virtual void what(){ cout<<"this is anim...

Java中的抽象类与接口对比

抽象类与接口 抽象方法 要讲抽象类与接口,我们得先从抽象方法说起。 来看官方文档的定义: An abstract method is a method that is declared without an implementation (without braces, and followed by a semicolon), like this: abstract void moveT...

皆非

坐在酿造忧愁的酒馆里 谁闭着眼 走在没有星光的灯火阑珊 与黑夜缠绵 拨开时光的脸 还是那个孤孤单单的少年 放纵纷扰的画面 那里人来人往渐行渐远 他总是小心翼翼 卑微着悲喜 他背坐愁城对未来自言自语 点燃一场支离破碎的美梦 看光阴散落下的满眼飞鸿 遥不可及的相守 咫尺天涯的相拥 在繁华落空时 它们相逢 来做一场灰飞烟灭的游戏 信马由缰飘零半生 一个男人握着加温的啤酒 整片星空和一只老狗 他没...

浅谈并发控制

并发控制:既可以在数据库层面上进行控制,也可以在java代码里进行控制 事务并发控制 在数据库层面上的控制就是事务的并发控制。事务并发执行如果不加控制,可能会遇到各种问题,比如脏读、不可重复读、幻象读,事务并发控制的手段有锁机制(共享锁、排它锁、行锁、表锁、乐观锁),也可以设置事务的隔离级别,或者采用加锁协议(两阶段加锁协议可以实现事务的串行化调度)。在Spring里还可以设置传播行为(P...

String使用equals方法和==的区别

Talk is cheap 先放个程序: public class Ha { public static void main(String[] args) { //String作为基本类型来使用 String a="hello"; String b="hello"; System.out.println(a==b); System.out.println(a.equal...

modCount in list

The number of times this list has been structurally modified.Structural modifications are those that change the size of the list, or otherwise perturb it in such a fashion that iterations in progre...