自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

wojiushimogui的博客

正在路上的编程学习者

  • 博客(623)
  • 资源 (18)
  • 收藏
  • 关注

原创 《Linux Shell编程学习笔记之二》:特殊变量(\$*和\$@的区别)、命令替换和变量替换

《Linux Shell编程学习笔记之二》:特殊变量($*和$@的区别)、命令替换和变量替换特殊变量一般变量比较简单哈,与Java、C/C++不一样的地方在于不需要定义,直接使用即可。例如:#!/bin/bashvar= "wojiushimogui"echo ${var}需要注意的两点:1、变量和等号之间不能有空格。2、使用变量的时候我们只需要在变量前面加上一个美元符号$即可。好的编程风格为

2016-10-22 22:06:13 3147

原创 《Linux Shell编程学习笔记之一》

《Linux Shell编程学习笔记之一》前言由于自己一直在Windows上面编程,用linux用的比较少,学习linux还是本科大二学的一点点知识。因此自己就准备花点时间来熟悉下linux。自己很久以前买的鸟哥的《Linux私房菜基础学习篇》也就终于能够排上了用场。由于自己是准备借助于学习Shell编程来熟悉Linux。因此首先推荐一个学习地址:http://c.biancheng.net/cpp

2016-10-22 16:36:29 847

原创 《Java 源码分析》:Java NIO 之 SelectionKey

《Java 源码分析》:Java NIO 之 SelectionKey在ServerSocketChannel源码分析中我们知道当把一个channel注册到指定的Selector上时, 实际上就是将(channel,selector)封装成了一个SelectionKey对象,并将此对象保存在了Selector对象中。SelectionKeyImpl k = new SelectionKeyImp

2016-10-19 21:45:17 6683 1

原创 《Java 源码分析》:Java NIO 之 ServerSocketChannel

《Java 源码分析》:Java NIO 之 ServerSocketChannel在上两篇博文中,主要从源码的角度粗略的介绍了Selector.open()和selector.select()方法的内部实现。由于Selector和ServerSocketChannel、SocketChannel配合使用,因此,有必要了解ServerSocketChannel、SocketChannel的内部实现

2016-10-19 20:46:55 4956 2

原创 《面筋:拿到美团点评和去哪儿网的offer》

《面筋:拿到美团点评和去哪儿网的offer》前言从9月25号下午面完百度之后,就结束了自己的找工作旅程。就这样浪了20来天,想想还是写篇面筋吧,可能会对学弟学妹有一点点帮助。自我介绍在写面筋之前,先说说我自己的情况:研究生一枚,通信专业,研究生期间主要是参与了几个关于通信的项目,没人任何和计算机项目的项目,关于Java基本课余时间自学,面试过程中没有一个面试官对我做的通信相关的项目感兴趣,自己的介绍

2016-10-15 22:30:12 5128 5

原创 《Java 源码分析》:Java NIO 之 Selector(第二部分selector.select())

《Java 源码分析》:Java NIO 之 Selector(第二部分selector.select())上篇博文《Java 源码分析》:Java NIO 之 Selector(第一部分Selector.open())从源码的角度主要介绍了Selector.open()这个方法背后主要做了什么,发生了什么。本篇就是第二部分:从源码的角度来看下selector.select()背后做了些什么,怎么做

2016-10-14 21:39:22 10842 5

原创 《Java 源码分析》:Java NIO 之 Selector(第一部分Selector.open())

《Java 源码分析》 :Java NIO 之 Selector(第一部分Selector.open())关于Selector类主要涉及两个重要的方法,如下:1、Selector.open()2、select()由于篇幅限制,这篇主要从源码的角度来介绍Selector selector = Selector.open()背后主要做了什么,发生了什么。Selector类中的open()源码如下

2016-10-13 20:09:16 16067 3

原创 Java NIO 之 Selector

Java NIO 之 Selector这篇博文将来记录下自己Java NIO中另一个重要的东西—-Selector。关于Selector确实不太好理解,自己也看了很多博客,到目前为止,自己对Selector还是没有弄清楚,感觉模模糊糊的。最主要的可能是没有找到对应的应用场景,不知道在上面地方能够用到Selector。关于Selector的相关介绍,并发编程网的这篇博文介绍的比较好:http:/

2016-10-10 21:47:29 1350

原创 Java NIO 之 ServerSocketChannel SocketChannel

Java NIO 之 ServerSocketChannel/SocketChannelServerSocketChannel介绍Java NIO中ServerSocketChannel是一个可以监听新进来的TCP 连接的通道。既然是监听新的TCP连接,因此ServerSocketChannel一般用于服务器端,与Socket网络编程中的ServerSocket功能类似。在一般的编程实现的逻辑

2016-10-10 21:46:07 1633

原创 《Java源码分析》:Java NIO 之 Buffer

《Java源码分析》:Java NIO 之 Buffer在上篇博文中,我们介绍了Java NIO 中Channel 和Buffer的基本使用方法,这篇博文将从源码的角度来看下Buffer的内部实现。在Java API文档中,对Buffer的说明摘入如下:Buffer:是一个用于特定基本数据类型的容器。这里的特定基本数据类型指的是:除boolean类型的其他基本上数据类型。缓冲区是特定基本数据类型元素

2016-10-10 10:46:26 4140 2

原创 《Java NIO》:Channel and Buffer (通道和缓冲区)

《Java NIO》:Channel and Buffer (通道和缓冲区)从今天开始,自己将会了解下Java NIO的相关知识,以及会看下相关的类库源码。和往常自己学习新知识之前,自己都会阅读网上的一些博文和资料,以使自己对这一块的知识有一个大致的了解,然后再按照自己感兴趣的点来研究一点点知识。关于Java NIO这一块的知识,也是如此。关于Java NIO涉及到三个重要的概念:1、Chan

2016-10-08 19:46:07 3572 2

原创 《Java Fork/Join框架介绍》

《Java Fork/Join框架介绍》Fork/Join框架是Java7提供了的一个用于并行执行任务的框架, 是一个把大任务分割成若干个小任务,最终汇总每个小任务结果后得到大任务结果的框架。我们已经很清楚Fork/Join框架的需求了,那么我们可以思考一下,如果让我们来设计一个Fork/Join框架,该如何设计?这个思考有助于你理解Fork/Join框架的设计。第一步肯定是将大任务分割成小任务。首

2016-09-16 20:10:09 902

原创 Java中接口中的方法定义规则

Java接口中的方法定义规则最近在做某个公司校招的笔试的时候,遇到了如下一个题:题目如下:(多选题)请选择以下接口定义正确的方法()A:public static void main (String[] args);B:private void test();C:public void test2();D:static void test3(){};正确答案为:C D。原因为:A没有提供默认实现,B

2016-09-14 11:24:52 33144 7

原创 Executors类中创建线程池的几种方法的分析

Executors类中创建线程池的几种方法的分析要配置一个线程池是比较复杂的,尤其是对于线程池的原理不是很清楚的情况下,很有可能配置的线程池不是较优的,因此在Executors类里面提供了一些静态工厂,生成一些常用的线程池。1、newFixedThreadPool:创建固定大小的线程池。线程池的大小一旦达到最大值就会保持不变,如果某个线程因为执行异常而结束,那么线程池会补充一个新线程。 /*

2016-09-09 18:39:54 5739

原创 《Java源码分析》:TreeMap

《Java源码分析》:TreeMap今天把TreeMap的源码稍微看了下,TreeMap的内部是基于红黑树来完成的。由于红黑树确实在我们的实际编码过程中用的比较少,因此自己对红黑树的认知不是很深,只是稍微有点印象罢了。由于TreeMap是基于红黑树来完成,因此 ,首先先列出红黑树的5个性质:性质 1:每个节点要么是红色,要么是黑色。性质 2:根节点永远是黑色的。性质 3:所有的叶节点都是空节点(即

2016-09-03 21:24:47 1015

原创 《Java源码分析》:ThreadLocal /ThreadLocalMap

《Java源码分析》:ThreadLocal /ThreadLocalMap首先,ThreadLocal 不是用来解决共享对象的多线程访问问题的,一般情况下,通过ThreadLocal.set(Object obj) 到线程中的对象obj是该线程自己使用的对象,其他线程是不需要访问的,也访问不到的。各个线程中访问的是不同的对象。 线程局部变量(ThreadLocal)其实的功用非常简单,就是为每一个

2016-08-31 21:19:03 2521 1

原创 堆排序的Java实现

堆排序的Java实现由于这里是堆排序,因此还是说明下堆排序的原理:一般堆是用数组来进行模拟的,arr[k]的子节点为arr[k * 2+1]和 arr[k * 2+2] .堆排序就是解决以下两个问题:1、如何将n个待排序的数组建成堆?2、输出堆顶元素之后,怎么样调整剩余的n-1个元素使其变为一个新堆进行进行这一步。以最小堆为例至于第一个问题:就是将二叉堆的非叶子节点(对应的数组的arr[(len/2

2016-08-29 21:42:28 787

原创 《Java源码分析》:PriorityQueue

《Java源码分析》:PriorityQueue看了PriorityBlockingQueue的源码之后,发现这个类的实现是基于二叉堆来实现的,然而自己以前对二叉堆基本上没有认真的研究过,这是自己第一次看到关于二叉堆的“插入元素”、“取出元素”等相关操作的一个具体实现。于是,想想,PriorityQueue里面的内部实现也应该是这样的,因此也就看了下PriorityQueue的源码,下面一点点的进行

2016-08-29 18:31:49 2386

原创 《Java源码分析》:BlockingQueue之PriorityBlockingQueue

《Java源码分析》:BlockingQueue之PriorityBlockingQueue上面两篇博文分别介绍了BlockingQueue、ArrayBlockingQueue和LinkedBlockingQueue。这篇博文就来分析下PriorityBlockingQueue。1、PriorityBlockingQueue的继承体系结构 public class PriorityBlock

2016-08-28 22:49:39 1332

原创 《Java源码分析》:BlockingQueue之LinkedBlockingQueue

《Java源码分析》:LinkedBlockingQueueLinkedBlockingQueue是大小不定的BlockingQueue,若其构造函数带一个规定大小的参数,生成的BlockingQueue有大小限制,若不带大小参数,所生成的BlockingQueue的大小由Integer.MAX_VALUE来决定.其所含的对象是以FIFO(先入先出)顺序排序的。1、LinkedBlockingQue

2016-08-28 11:15:30 784

原创 《Java源码分析》:BlockingQueue之ArrayBlockingQueue

《Java源码分析》:BlockingQueue2016年8月27日21:10:51,今天是学校报道的第一天,从今天开始,我也就研三了,哎,有时候只能感叹时间过的真快,自己的研究生生活只剩下最后一年。在最后的一年里,希望自己的一切都顺利吧,其中包括:找一份好的工作,顺利将手上的项目完成,顺利完成自己的毕设。说了这么多,还是开始本篇博文的正题吧。在前一段时间研究了下J.U.C包下面并发类库的原理,也都

2016-08-27 22:30:55 2127

原创 《深入理解Java虚拟机》:类加载和初始化(二)

《深入理解Java虚拟机》:类加载和初始化(二)在去年看《深入理解Java虚拟机》的时候,写过一篇关于类加载和初始化的博客,最近又在看这一块的知识,发现还是有很多东西没有理解好。借助于网上的一些博客,学习了一点新的知识,并整理如下。1、类加载过程类加载过程由如下几个阶段构成:装载、链接、初始化。其中链接包括:验证、准备和解析三个阶段。1、装载:查找并加载类的二进制数据2、链接: 验证:确保

2016-08-22 19:33:38 640

原创 《Java内存区域介绍》

《Java内存区域介绍》Java内存区域有如下几部分构成1、程序计数器:指示的是当前正在执行的机器指令的地址。2、本地方法栈:通过JNI调用本地方法时根据语言的类型建立相应的栈。3、Java栈Java栈是每个线程私有的,每个线程都有一个Java栈,栈中存放着一系列的栈帧(Stack Frame),JVM只能压入(push)和弹出(pop)栈帧这两种操作。每当调用一个方法时,JVM就往栈中压入一个栈

2016-08-10 18:54:14 569

原创 性能测试

性能测试在性能测试中,最简单最基本的测试就是Page Load Time。响应时间是指:完成某项任务所花费的时间。例如,在登陆系统中,输入用户名和密码点击登陆按钮之后成功跳转到登陆界面所花费的时间。响应时间是最主要的性能指标。为什么呢??1、用户讨厌等待。2、响应时间是用户对软件最重要的印象和感受。响应时间的构成响应时间 = t1+ t2 +t3 +t41、t1:用户提交请求开始进行数据的传输到

2016-08-10 16:40:23 481

原创 UI测试

UI测试看了一篇博文,讲解的是关于UI测试的,发现挺好,相关知识点记录如下。界面测试,也叫UI测试(User Interface testing)。1、界面测试的目的检查用户界面的风格是否满足客户的要求,是否通用,文字是否正常,页面是否美观,文字、图片是否结合完美,操作是否友好等。2、界面测试难以自动化测试如果是测试 界面(而不是测试功能),例如测试界面上的控价是否显示正常。个人觉得没有必须要去自动

2016-08-10 15:34:33 700

原创 《测试》:如何测试网页的登录页面

如何测试网页的登录页面当我们写一个登陆界面,为使其更好的工作,也为了有更好的用户体验,我们需要对登陆界面进行如下的测试。一般情况下,我们在测试之前,首先要明白的一件事是:弄懂需求,没有需求的测试都是扯淡。例如:一个网站,需要有这样一项该网站最多只有5个人来进行同时访问。如果我们知道这个需求,在我们测试的时候就需要在性能测试中测试并发数很高的测试用例。用户需求:有一个登陆界面,界面中有两个textbo

2016-08-10 10:56:23 11442

原创 《分布式》:paxos算法和一致性Hash算法相关记录

《分布式》:paxos算法和一致性Hash算法相关记录今天无意之间看到了这个关于分布式的协调一致的算法:paxos,于是找了一些相关博文看了下,说没有弄懂吧,感觉还懂点,说懂了吧,但是又感觉差点。哎,还需要多看看相关博文呀。莱斯利·兰伯特(Leslie Lamport,paxos算法的奠基人,)的Paxos Made Simple 是学习paxos最好的文档,文档连接在这里:http://resea

2016-08-09 16:50:57 1444

原创 《Java源码分析》:CyclicBarrier(part two)

《Java源码分析》:CyclicBarrier(part two)在上篇博文中http://blog.csdn.net/u010412719/article/details/52156588,我们看了关于CyclicBarrier应用的一些例子,也得出的使用CyclicBarrier时的相关结论。回顾下我们在上篇博文中了解了关于CyclicBarrier的相关知识点如下:1、CyclicBarri

2016-08-09 10:31:33 886 2

原创 《Java源码分析》:CyclicBarrier(part one)

《Java源码分析》:CyclicBarrier (part one)CyclicBarrier字面意思回环栅栏,通过它可以实现让一组线程等待至某个状态之后再全部同时执行。叫做回环是因为当所有等待线程都被释放以后,CyclicBarrier可以被重用。我们暂且把这个状态就叫做barrier,当调用await()方法之后,线程就处于barrier了。举个例子哈:当我们10个人相约包车去成都玩,车早上就

2016-08-08 22:43:03 2229 2

原创 《七夕》:给自己买机械键盘了

《七夕》:给自己买机械键盘了听同学说,明天七夕情人节也,于是,想着,我也要过节(虽然并没有。。。),吼吼,于是就自己给自己买了个机械键盘,吼吼,一直想买,一直想买,终于买了,吼吼。还是穷学生经济有限,不懂什么轴什么轴的就随便买了一个。买了型号为:樱桃(Cherry)MX-Board 2.0 G80-3801京东专供版机械键盘 黑色 黑轴由于明天才能到货,还不能感受,明天了我好好感受下了,都说机械键盘

2016-08-08 20:17:32 975

原创 《Java源码分析》:ConcurrentHashMap JDK1.8

《Java源码分析》:ConcurrentHashMap JDK1.8最近一直在看关于J.U.C中的源码,了解原子操作,了解锁机制,了解多线程并发等等。但是ConcurrentHashMap一直拖着到今天才算告一段落。也要感谢ConcurrentHashMap这个类,刚开始就是想弄懂里面的工作原理,但是,无奈看了网上关于介绍ConcurrentHashMap这个类的资料或博客都是基于JDK1.8以

2016-08-07 21:42:41 19392 28

原创 《Java源码分析》:Future、RunnableFuture、FutureTask

《Java源码分析》:线程池 Future、RunnableFuture、FutureTask在使用ThreadPoolExecutor使用submit提交任务后然后交给线程池中的线程去执行,是吧在ThreadPoolExecutor(其实是在AbstractExecutorService中)有如下几个submit方法, public Future<?> submit(Runnable ta

2016-08-06 17:01:45 4754

原创 《Java源码分析》:线程池 ThreadPoolExecutor

《Java源码分析》:线程池 ThreadPoolExecutorThreadPoolExecutor是ExecutorService的一张实现,但是是间接实现。ThreadPoolExecutor是继承AbstractExecutorService。而AbstractExecutorService实现了ExecutorService接口。在介绍细节的之前,先介绍下ThreadPoolExecut

2016-08-06 14:20:29 2175 2

原创 《Java源码分析》:Timer/TimerTask

《Java源码分析》:Timer在JDK 5.0之前,java.util.Timer/TimerTask是唯一的内置任务调度方法,而且在很长一段时间里很热衷于使用这种方式进行周期性任务调度。本篇博文就先使用Timer/TimerTask来完成任务的调度。接着再来分析Timer/TimerTask的源码。Timer类中常见方法1、void cancel() 终止此计时器,丢弃所

2016-08-05 22:06:03 2527 2

原创 《Java线程池》:任务拒绝策略

《Java线程池》:任务拒绝策略在没有分析线程池原理之前先来分析下为什么有任务拒绝的情况发生。这里先假设一个前提:线程池有一个任务队列,用于缓存所有待处理的任务,正在处理的任务将从任务队列中移除。因此在任务队列长度有限的情况下就会出现新任务的拒绝处理问题,需要有一种策略来处理应该加入任务队列却因为队列已满无法加入的情况。另外在线程池关闭的时候也需要对任务加入队列操作进行额外的协调处理。Rejecte

2016-08-05 21:08:26 20688 2

原创 《Java线程池》:Executor生命周期

《Java线程池》:Executor生命周期我们知道线程是有多种执行状态的,同样管理线程的线程池也有多种状态。JVM会在所有线程(非后台daemon线程)全部终止后才退出,为了节省资源和有效释放资源关闭一个线程池就显得很重要。有时候无法正确的关闭线程池,将会阻止JVM的结束。线程池Executor是异步的执行任务,因此任何时刻不能够直接获取提交的任务的状态。这些任务有可能已经完成,也有可能正在执行或

2016-08-05 21:06:51 5336 1

原创 《Java线程池》Executor 以及Executors

《Java线程池》Executor 以及Executors线程池的相关类的体系结构如下:先看Executor接口,是最根上的接口 public interface Executor { /* * Executes the given command at some time in the future. The command * may

2016-08-05 21:01:02 1336

原创 《Java源码分析》:CopyOnWriteArrayList/ CopyOnWriteArraySet

《Java源码分析》:CopyOnWriteArrayList/CopyOnWriteArraySetCopyOnWriteArrayList/CopyOnWriteArraySet的基本思想是一旦对容器有修改,那么就“复制”一份新的集合,在新的集合上修改,然后将新集合复制给旧的引用。当然了这部分少不了要加锁。显然对于CopyOnWriteArrayList/CopyOnWriteArraySet来

2016-08-04 20:34:22 979

原创 《Java源码分析》:Exchanger

《Java源码分析》:ExchangerExchanger类用于两个线程之间交换数据。Exchanger类只有两个方法:1、V exchange(V x) 等待另一个线程到达此交换点(除非当前线程被中断),然后将给定的对象传送给该线程,并接收该线程的对象。 API给出的详细说明如下:public V exchange(V x) throws Inter

2016-08-04 18:52:59 959

原创 《Java源码分析》:CountDownLatch

《Java源码分析》:CountDownLatchLatch:闭锁。有人把Latch比喻成是一个门,在门打开之前,所有想进门的线程都被阻塞,在门打开之后,所有想进门的线程全部通过,且门打开之后就不能再关闭。CountDownLatch是一个同步辅助类,允许一个或多个线程等待直到其它线程的一些操作已经准备完成。CountDownLatch是JDK 5+里面闭锁的一个实现,允许一个或者多个线程等待某个事

2016-08-04 18:50:35 1519

系统仿真学报排版格式

系统仿真学报排版格式

2017-05-08

google三大论文中文版

google三大论文中文版,欢迎下载

2016-12-01

淘宝技术这十年

淘宝技术这十年,有需要的可以下载看看

2016-11-21

分布式Java应用基础与实践

分布式Java应用基础与实践的pdf版,这本书只有淘宝有盗版,这里提供电子档

2016-11-20

guava-18.0.jar

guava-18.0.jar

2016-10-23

坦克大战的某一个版本

这是本人写坦克大战时完成过程中的一个版本,这个版本完成到了可以随机产生多个敌方坦克了

2016-06-22

坦克大战(发射多颗子弹的版本)

这是本人在写坦克大战中实现了坦克可以发送多颗子弹的版本,如果你需要,可以下载。

2016-06-21

python图像处理库PIL

python图像处理库PIL,可能有的人需要

2015-12-17

python识别验证码的库pytesser

可能有的人需要,特此提供,用法说明:直接将其解压缩后将将文件夹放在你即将要运行的程序相同的目录下。

2015-12-17

Java并发编程实战

Java并发编程实战完整版 高清噢 带标签噢 欢迎下载

2015-10-25

matlab2012b与vs2010交叉调用时的编译环境设置

matlab2012b与vs2010交叉调用时的编译环境设置,是别人的一篇论文,感觉可能有人需要,特上传供大家下载使用

2015-08-25

电子科技大学研究生算法课的作业的答案

这是电子科技大学研究生算法课程的几次作业的答案,供大家下载参考

2015-05-15

Java设计模式详解总结和例子

这是java设计模式的23中的详解,供大家下载学习

2015-05-15

DSP学习的一些例子程序

这是与我的关于DSP的课程资料相对应的一些例子程序,可以便于我们对其进行进一步的学习

2015-05-15

Qt入门教程

这是关于Qt开发从0开始的一些讲义,由浅入深

2015-05-15

读取心电图txt格式文件数据并且显示的app

这个一个读取心电图数据的app,大家可以在手机的存储txt文件的数据,并修改代码中的文件地址,即可运行app看到心电图就在我们的手机上面刷新显示出来了

2015-05-15

MIT-BIH的心电图数据将V5导联的数据提取出来的txt的数据文件

最近在做一个关于心电图处理的App,需要MIT-BIH一个导联的并且以分号“;”将数据分开的的全部数据,因此也就写了一个小程序将原有的按时间和幅度存放的txt文件变成了我所需要的,现在上传上来供大家下载

2015-05-15

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除