JUST DO IT


  • 首页

  • 归档

  • 分类

  • 标签

  • 关于

  • 搜索

Vim:替换和查找

发表于 2017-03-23 | 分类于 Linux

Linux VI提供了文件中字符串的查找和全局替换的方法。在命令模式下输入/或?可进入查找模式/输入“/searchstring”,然后回车,VI光标从光标位置开始出现第一次出现的地方。输入n跳到该串的下一个出现处,输入N跳到该串上一次出现的位置。

在替换时,可指定替换的范围(1,n),当n为$时指定为最后一行。s是替换命令,g代表全部替换。

例如:

:1,$ s/pattern1/pattern2/g

将行1至结尾的文字中匹配模式pattern1的字符串替换为pattern2字符串。如无g,则仅替换每一行所匹配的第一个字符串;如有g,则将每一个字符串均作替换。

阅读全文 »

单例模式

发表于 2017-03-22 | 分类于 设计模式

描述:

Singleton(单例)是设计模式的一种,为了保证一个类仅有一个实例,并提供一个访问它的全局访问点。

主要特点:

  1. 单例类确保自己只有一个实例(构造函数私有:不被外部实例化,也不被继承)。
  2. 单例类必须自己创建自己的实例。
  3. 单例类必须为其他对象提供唯一的实例。

单例模式的应用:

资源管理器,回收站,打印机资源,线程池,缓存,配置信息类,管理类,控制类,门面类,代理类通常被设计为单例类
如果程序有多个类加载器又同时使用单例模式就有可能多个单例并存就要找相应解决方法了

阅读全文 »

语法糖

发表于 2017-03-20 | 分类于 Java基础

泛型

与C#中的泛型相比,Java的泛型可以算是“伪泛型”了。在C#中,不论是在程序源码中、在编译后的中间语言,还是在运行期泛型都是真实存在的。Java则不同,Java的泛型只在源代码存在,只供编辑器检查使用,编译后的字节码文件已擦除了泛型类型,同时在必要的地方插入了强制转型的代码。

泛型代码:

1
2
3
4
5
public static void main(String[] args) {  
List<String> ## stringList = new ArrayList<String>();
stringList.add("oliver");
System.out.println(stringList.get(0));
}

将上面的代码的字节码反编译后:

1
2
3
4
5
public static void main(String args[]){  
List stringList = new ArrayList();
stringList.add("oliver");
System.out.println((String)stringList.get(0));
}

阅读全文 »

Synchronize And Lock

发表于 2017-03-19 | 分类于 Java并发

在分布式开发中,锁是线程控制的重要途径。Java为此也提供了2种锁机制,synchronized和lock。做为Java爱好者,自然少不了对比一下这2种机制,也能从中学到些分布式开发需要注意的地方。

我们先从最简单的入手,逐步分析这2种的区别。

一、synchronized和lock的用法区别

synchronized:在需要同步的对象中加入此控制,synchronized可以加在方法上,也可以加在特定代码块中,括号中表示需要锁的对象。

阅读全文 »

常用集合类操作

发表于 2017-03-19 | 分类于 Java基础

ArrayList

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
ArrayList list=new ArrayList();	
User zhangsan=new User("张三",1);
list.add(zhangsan);
Dog dog=new Dog();
dog.setName("哈哈");
dog.setAge(1);
list.add(dog);
for (Object object : list) {
if(object instanceof User){
User user=(User)object;
System.out.println(user.getName());
}else{
Dog user=(Dog)object;
System.out.println(user.getName());
}
}
阅读全文 »

常用集合类

发表于 2017-03-19 | 分类于 Java基础

Collection接口

  • List接口(允许有重复元素):ArrayList、LinkedList、Vector、Stack
  • Set接口(不允许有重复元素,可用于去重操作):HashSet、TreeSet

对于Collection需要掌握的七点内容

  • Collection的创建:即构造器,掌握在构造器方法中Collection的实现类做了一些什么

  • 往Collection中添加对象:即add(E)方法–>类的实现方式决定了此方法的性能

  • 删除Collection中的对象:即remove(E)方法–>类的实现方式决定了此方法的性能

  • 获取Collection中的单个对象:即get(int index)方法–>类的实现方式决定了此方法的性能

  • 遍历Collection中的对象:即iterator,在实际中更常用的是增强型的for循环去做遍历

  • 判断对象是否存在于Collection中:contain(E)–>类的实现方式决定了此方法的性能

  • Collection中对象的排序:主要取决于所采取的排序算法

    阅读全文 »
1…1213
Try.Catch

Try.Catch

孤单而灿烂

102 日志
16 分类
26 标签
© 2017 — 2023 Try.Catch
由 Hexo 强力驱动
|
主题 — NexT.Gemini v5.1.4
本站访客数 人次 本站总访问量 次
0%