- 博客(16)
- 收藏
- 关注
原创 语言处理器
title: 2019-1-13tags: 编译原理grammar_cjkRuby: true编译器 :Created with Raphaël 2.2.0源程序编译器目标程序可以发现源程序的错误解释器 :Created with Raphaël 2.2.0输入&执行源程序解释器输出对比:把用户输入映射为输出过程中,编译过的机器语言目标程序效率快于解释器,但诊断错误效果...
2019-01-13 10:46:10 529
原创 Future和Callable,CompletionService实现并行化
Callable和Future实现并行化Future表示一个任务的生命周期,并可以判断是否完成和取消。接口 方法如下:boolean cancel(boolean);取消任务V get();获取结果,阻塞等待V get(long, TimeUnit);最大超时等待(时间,时间单位)boolean isCancelled();boolean isDone();如下面代码示例:当加载...
2018-11-07 21:09:54 196
原创 线程池(Executor框架)
任务是一组逻辑工作单元,而线程则是使任务异步执行的机制。当把所有任务都放在单个线程中串行执行时,会产生糟糕的响应性;“为每个任务分配一个线程”资源管理的复杂性会升高,不足如下:线程生命周期的开销非常高。(创建和销毁)资源消耗活跃资源消耗资源,尤其内存。当可运行线程大于可用处理器时,有些线程将闲置,从而闲置线程占用许多内存,给垃圾回收器带来压力,而且在竞争CPU会有其他性能消耗。稳定性...
2018-11-07 08:54:10 839 1
原创 构建 高效可伸缩的结果缓存
通过HashMap实现缓存Computable接口public interface Computable<A, V> { V compute(A arg) throws InterruptedException;}**ExpensiveFunction **(表示结果的计算过程)public class ExpensiveFunction implements Compu...
2018-11-05 08:45:46 159
原创 同步工具类(闭锁,信号量,FutureTask,信号量,栅栏)
同步工具类可以使任何一个对象,只要它根据自身的状态来协调线程的控制流。阻塞队列可以作为同步工具类,其他类型的同步工具类还包括信号量,栅栏以及闭锁。所有的同步工具类都包含一些特定的结构化属性:封装了一些状态,这些状态将决定执行同步工具类的线程是继续执行还是等待,还提供一些方法对状态进行操作,自己用于高效的等待同步工具类进入预期状态的方法。闭锁可以延迟线程的进度直到其到达终止状态。闭锁作用相当...
2018-11-04 18:12:14 346
原创 ClassLoader类结构
作用将Class加载到JVM审查类由谁加载字节码解析成JVM统一要求的对象格式类结构分析常用方法: findClass(String) Class<?>; loadClass(String) Class<?>; resolveClass(Class<?>) void;defineClass(b
2018-10-15 09:38:03 192
原创 linux 查看日志常用命令
一.cat一次显示整个文件 cat filename从磁盘创建一个文件 cat > filenaem (只能创建新文件)合并文件 cat file1 file2 > file参数-n 显示行号-b 显示行号,空白行不编号-s 多空白行合并为一行实例cat -n file1 > file2 把file1添加行号后输入到file2c...
2018-09-13 14:54:50 572
原创 对象的共享——可见性
可见性单线程,写入读取,很自然。 多线程,当一个线程写入数据,一个读取时候,会产生一系列问题,无法确保读操作的线程看到其他线程写入的数据,因此,需要使用同步。public classNovisibility{ private static boolean ready; private static int number; private static class...
2018-08-26 10:28:39 434
原创 Redis总结
1.什么是Redis?Redis是一个基于内存的 =高性能键值对数据库,通过定期把数据flush到硬盘实现持久化(异步),因为是内存操作,所以性能很高,另一个特点是支持保存多种数据类型(String,Hash,Set,Sorted Set,List).内存中之所以快是因为解决了IO读写的耗时问题。2.Redis的主从与读写分离Redis支持主从的模式,原则:主数据库会将数据同步到从库,而从库不会同
2017-10-24 19:36:25 262
原创 Longgest SubString
longgest subString首先public int lengthOfLongestSubstring(String s) { if(s.length()==0) return 0; if(s.length()==1) return 1; Set<Character
2017-04-25 18:40:50 397
原创 Add Two Numbers
You are given two non-empty linked lists representing two non-negative integers. The digits are stored in reverse order and each of their nodes contain a single digit. Add the two numbers and return it as a lin
2017-04-25 14:46:23 165
原创 Two Sum
Two Sum Given an array of integers, return indices of the two numbers such that they add up to a specific target. You may assume that each input would have exactly one solution, and you may not
2017-04-25 10:08:41 214
原创 mysql约束
约束约束保证数据的完整性和一致性。约束分为表级约束和列级约束。约束类型包括: NOT NULL(非空约束) PRIMARY KEY(主键约束) UNIQUE KEY(唯一约束) FOREIGN KEY(外键约束)外键约束父表和子表必须使用相同的存储引擎,而且禁止使用临时表。数据表的存储引擎只能为InnoDB.外键列和参照列必须有相似的数据类型。而且数字的长度和是否有符号
2017-03-30 22:12:57 165
原创 mysql表操作
查看数据库表结构SHOW COLUMNS FROM tabl_name插入记录INSERT [INTO] tbl_name [(col_name,...)] values (val1,...)
2017-03-30 21:53:43 182
原创 mysql初级
创建数据库: CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name [DEFAULT] CHARACTER SET [=] charset_name 显示警告:SHOW WARING; 修改编码: ALTER DATABASE db_name CHARACTER SET utf-8; 删除数据库: DROP {DATABASE | SC
2017-03-30 21:35:02 179
原创 java笔记short相加自动转换
精度小于int的数值运算的时候都回被自动转换为int后进行计算所以,下面的代码会报编译错误short s1 = 5;short s2 = 3;s1= (s1+s2);必须改成:short s1 = 1;short s2 = 1;s1= (short)(s1+s2);但是,s1+=4;是正确的
2016-09-27 16:50:40 1879
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人