- 博客(14)
- 收藏
- 关注
原创 论文格式资料分享
毕业临近,把之前写论文所买的资料整理归类成不同文件夹,资料包含写论文需要用到的软件,论文选题、论文模板、答辩经验和答辩PPT和素材等资料,希望对其他人有帮助。百度云资料链接,提取码:xg0v...
2021-12-30 23:21:53 100
转载 golang跳转语句goto,break,continue的使用
gotogoto语句可以无条件地转移到过程中指定的行。通常与条件语句配合使用。可用来实现条件转移, 构成循环,跳出循环体等功能。在结构化程序设计中一般不主张使用goto语句, 以免造成程序流程的混乱goto对应(标签)既可以定义在for循环前面,也可以定义在for循环后面,当跳转到标签地方时,继续执行标签下面的代码。func main() { // 放在for前面,此例会...
2019-04-03 16:42:41 563
原创 线程数大小和CPU密集型和I/O密集型
一个程序究竟应该设计多少线程数,应该从并发模型来考虑CPU密集型CPU密集型就是需要消耗大量CPU运算的服务,这个时候,如果线程数大,会增加CPU的上下文切换,但是线程数不能太少,面对CPU密集型,可以从2*CPU 和 CPU+1两个数据去调试线程数的大小。I/O密集型I/O密集型就是要频繁进行I/O请求,很多时候就是随机I/O的读写请求,这个时候,增加线程,如果是增加...
2019-03-21 17:46:49 876
原创 LockSupport的park和unpark
JDK中阻塞线程运行的是LockSupport的park。JAVA中的线程的interrupt是不能阻塞 Thread t = new Thread(new Runnable(){ @Override public void run() { Thread.currentThread().interrupt(); int i = 0; i++; ...
2019-03-18 17:49:54 306
原创 go interface了解学习
初学GO,第一次接触interface,记录一下如果接触过目前流行的java,c++的这些OOP的编程语言,都会知道interface是一堆方法的集合。但是GO与java,c++不一样的是,java和c++认为,譬如你是一只猫,那么你就要实现抓老鼠这个接口,我需要先确定绑死你是猫这样的类型,然后再实现抓老鼠这样的接口,GO不一样,GO认为,你能抓老鼠,那么你就是猫。这样进一步把对象和操作...
2019-03-18 16:57:02 145
原创 go 命令行解析工具包flag
在学习用go写一个jvm的时候,看到一个go解析命令行的工具包flag包,记录一下flag包有两种方式1)flag.Xxx(),其中Xxx可以是Int、String等;返回一个相应类型的指针,如:cpvalue := flag.StringVar("cp","","classpath")第一个参数cp是名字第二个参数是默认值第三个参数是提示信息2)flag.XxxV...
2019-03-17 11:22:48 376
原创 AtomicInteger 原子类学习记录
1.AtomicInteger提供java关于integer操作的原子性操作 private static final Unsafe unsafe = Unsafe.getUnsafe(); private static final long valueOffset; static { try { valueOffset = un...
2019-03-14 17:43:16 156
原创 Synchronize关键字
在C程序里面常常利用操作系统的互斥锁来实现同步,java1.6之前也是用操作系统的互斥锁锁实现synchronize关键字,java1.6之后对synchronize进行了大量优化之后,引入如锁粗化(Lock Coarsening)、锁消除(Lock Elimination)、轻量级锁(Lightweight Locking)、偏向锁(Biased Locking)、适应性自旋(Adaptive ...
2019-03-09 20:18:58 205
原创 GCC 编译参数顺序记录
初学Linux C编程遇到编译出错运行下面编译命令,出错gcc -g -W -Wall -pthread -lcrypto -o httpd httpd.c错误信息:/tmp/ccYw8W8E.o: In function `md5test':/home/rivulet/work/Tinyhttpd-master/httpd.c:666: undefined reference...
2019-03-08 21:18:37 655
原创 mysql limit 1 for update的锁类型
最近遇到一个业务问题,购物券号是预先产生的,然后进行客户ID的绑定,从SQL上来讲基本上有两种方式实现方式一:begin;select * from purchase_code where code_type = 0 limit 1 for update;update purchase_code set code_type=1,user_id=123 where purchas...
2019-03-07 18:01:55 6680 1
原创 linux下的epoll
epoll只有一种设计模式1)收集需要处理的fd2)判断fd,如果来源于监听端口,进行accept,如果是不是,那就是或者可读,或者可写,然后根据fd的读写类型进行读写处理。while (TRUE){//等待EPOLL事件的发生,相当于监听,至于相关的端口,需要在初始化EPOLL的时候绑定。int nfds = epoll_wait (m_epoll_fd, m_e
2017-03-27 21:47:15 184
原创 javascript中的arguments
javascript里面有一个arguments对象,这个argument对象比较类似数组但是不是数组,可以用arguments[]形式访问里面的元素,实际上,javascript根本不关心函数参数的个数,全部存放在arguments数组中,可以用arguments.length检查传人参数的个数,直接上代码 1 function f(x) 2 { 3 cons
2016-01-16 20:54:08 239
原创 在javascript中,哪些值能作为if的条件
1、布尔变量true/false2 数字 当变量为 0 或NaN时候,条件为假,当变量不等于0或者NaN的时候,条件为真3 对象 当对象为null或undefined)的时候,条件为假。4 字符串 当字符串为“”的时候,条件为假
2016-01-16 15:18:43 264
原创 Linux下编译安装node
Linux下安装node方法一可以从官网https://nodejs.org/dist/下 载编译好的包,例如https://nodejs.org/dist/v0.4.10/node-v0.4.10.tar.gz 解压到/usr/local/node下,就可运行node方法二从官网https://nodejs.org/en/download/下载源码包进行编译,直接../confi
2016-01-14 22:31:39 292
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人