0%

bbr

  • yum install -y git
  • yum install -y vim
  • wget --no-check-certificate https://github.com/teddysun/across/raw/master/bbr.sh
  • chmod +x bbr.sh
  • ./bbr.sh
    Read more »

git常用命名汇总

1. First-Time Git Setup

  • git config -l
  • git config --global user.name "your name"
  • git config --global user.email xxx@example.com
  • git config --global color.ui true
  • git config core.ignorecase false ##设置大小写敏感
    Read more »

技术

  • 并发-多线程,线程池。在保证效率的情况下不要轻易使用多线程。多线程不可控,黑盒运行。Guava异步回调可以根据实际场景适当的运用。JVM内存模型和运行机制(类加载机制)需要加强。
  • Redis 缓存的使用,能够进行缓存的数据结构设计。String,List,Queue,HashMap,Set。
  • 缓存设计,根据不同的应用场景设计不同的缓存方案。String数据结构和HashMap数据结构需要区分,很多场景既能使用String,又能使用HashMap。这种情况使用String往往会产生大量的Key值,使用HashMap又不便于扩展,取值复杂。需要合理选择。
  • 缓存淘汰策略,当大量读写数据库和缓存时,采取合理的缓存淘汰策略能够避免脏数据的产生,也能减少缓存miss。在多线程读写数据库Save Or Update时,处理不当会造成主键重复异常等,缓存会产生脏数据,采用先淘汰缓存后更新数据库。(先淘汰后更新,PubSub更新,事务隔离前淘汰等。)
  • 数据库事务,数据库事务机制能够保证数据的准确性,操作的原子性。但事务运用的不当时,会造成代码运行速度下降,系统负担加大。目前Web项目中,数据库事务机制大多由Spring管理,Spring Aop对事务的切入点不对会造成大片的代码段锁死。
  • RPC框架,模块之间相互通信框架。是对HTTP的一种封装和优化。目前常用RPC有:Dubbo,Hessian。采用RPC框架可以使各个层之间解耦合(或者最大限度地松耦合)。
  • MongoDb,一种非关系型(NOSQL)数据库。集合,文档的概念,对于存储json非常方便。
  • NodeJs

编程思想阅读心得

1.对象入门

  1. 建立模型——“知识结构”。
  2. 不必强行记住运算符优先级,拿不准时加括号即可。
  3. 对象,一切都是对象。控制程序流程、初始化和清除、隐藏实现过程、类再生、多形性、对象的容纳、违例差错控制、Java IO系统、运行期类型鉴定、传递和返回对象、创建窗口和程序片、多线程、网络编程、设计方范式。
  4. 多线程,独立运行的片段叫作“线程”,利用它编程的概念就叫作“多线程处理”。
  5. C++和Java都是杂合语言,多重编程风格。
    Read more »

Java能力提升计划

主要以J2EE为主线,摆脱迷茫和随波逐流
这篇文章一定要好好维护,不能copy网上的内容,专表达自己的见解

TODO List

  • Learning English
  • 阅读spring源码
  • 提高Java知识(基础知识和J2EE相关)
  • 读书
  • 目前急需提高的技术能力:DI,多线程,ORM映射框架
    Read more »

Java及Web服务器

  1. Java中数据类型的长度?可选这以下类型提问:
    Int 4、short 2、long 8、byte 1、float 4、double 8、char 2、boolean 1
  2. int和Integer的区别?
    Java是一个近乎纯洁的面向对象编程语言,但是为了编程的方便还是引入了基本数据类型,但是为了能够将这些基本数据类型当成对象操作,Java为每一个基本数据类型都引入了对应的包装类型(wrapper class),int的包装类就是Integer,从Java 5开始引入了自动装箱/拆箱机制,使得二者可以相互转换。
    Java 为每个原始类型提供了包装类型:
    原始类型——boolean,char,byte,short,int,long,float,double
    包装类型——Boolean,Character,Byte,Short,Integer,Long,Float,Double
  3. String s = new String(“xyz”);创建了几个String Object?二者之间有什么区别?
    两个或一个,“xyz”对应一个对象,这个对象放在字符串常量缓冲区,常量”xyz”不管出现多少遍,都是缓冲区中的那一个。New String每写一遍,就创建一个新的对象,它一句那个常量“xyz”对象的内容来创建出一个新String对象。如果以前就用过“xyz”,这句代表就不会创建“xyz”自己了,直接从缓冲区拿。
  4. String和StringBuffer的区别
    JAVA平台提供了两个类:String和StringBuffer,它们可以储存和操作字符串,即包含多个字符的字符数据。这个String类提供了数值不可改变的字符串。而这个StringBuffer类提供的字符串进行修改。当你知道字符数据要改变的时候你就可以使用StringBuffer。典型地,你可以使用StringBuffers来动态构造字符数据。另外,String实现了equals方法,new String(“abc”).equals(newString(“abc”)的结果为true,而StringBuffer没有实现equals方法,所以,new StringBuffer(“abc”).equals(newStringBuffer(“abc”)的结果为false。
    Read more »