自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(97)
  • 资源 (2)
  • 收藏
  • 关注

转载 Centos7安装JDK(tar.gz版)

原文:http://www.cnblogs.com/wangfajun/p/5257899.html==============Centos7安装JDK(tar.gz版)1.查找需要卸载的OpenJDK:#  rpm -qa | grep java2:依次卸载rpm -e --nodeps javapackages-tools-3.4.1

2017-07-27 10:06:20 1969

原创 线性方程组

阅读文献时关于Stieltjes transform时遇到矩阵特征多项式,发现关于线性方程组的东西都忘记了。首先来看齐次的情况。1. 齐次线性方程组解的条件齐次线性方程组肯定有零解这个结论是很显然的。在此基础上齐次线性方程组有非零解的充要条件是 系数矩阵的列亏秩(不是满秩),且有无数多组解。那么也就是说,在系数矩阵为方阵时,有非零解的充要条件是 系数矩阵行列式为0。下回来补充非齐次线性方程的

2017-02-25 11:01:51 478

原创 给自己的项目添加git管理

配置ssh通过ssh来访问自己的项目,为了避免每次输入用户名密码 可以在机器上配置ssh-key的方式来解决。该配置是基于该机器是可信的,因此在该机器上生成一对 私/公 钥, 将公钥上传到自己的github账号下,相当于给该台机器颁发了一份证书。具体过程参考:https://segmentfault.com/a/1190000002645623

2016-10-26 19:44:25 411

原创 idea 15.0.2 破解

参考该文的说明 http://www.cnblogs.com/yevpt/p/4959851.html。 不过最后一步,到 http://idea.lanyus.com 获取注册码,生成的注册码无效的,直接用作者使用的注册码就ok了。 1449826973667-{"licenseId":"1449826973667","licenseeName":"vpt","assigneeName"

2016-09-29 16:48:28 464

转载 二叉树概念总结

原文: http://blog.csdn.net/xy010902100449/article/details/46591733----------------------------------------------------------------------------------------------------------1、二叉树结点编号在一棵n个结点的完

2016-09-06 17:28:37 382

原创 JavaIO之OJ上面的输入输出

Scanner类Q:nextInt()、nextLine()、next()三个典型的方法有何区别? A:nextInt()读取下一个int型标志的token,焦点不会移动到下一行,使用nextLine()方法时会读取该行剩余的所有的内容,包括换行符,然后把焦点移动到下一行的开头,next()方法是以换行或者空格符为分界线接收下一个String类型变量。

2016-09-02 21:41:49 923

原创 Java集合类中排序API的稳定性

最近写代码,题目要求排序是稳定的,之前一直用 Arrays.sort、Collections.sort等诸如此类的方法,没有在意是否稳定的。 查了一下:Arrays.sort(T[],Comparator

2016-09-02 16:34:46 4129 1

转载 再叙TIME_WAIT

再叙TIME_WAIT发表于2013-12-31之所以起这样一个题目是因为很久以前我曾经写过一篇介绍TIME_WAIT的文章,不过当时基本属于浅尝辄止,并没深入说明问题的来龙去脉,碰巧这段时间反复被别人问到相关的问题,让我觉得有必要全面总结一下,以备不时之需。讨论前大家可以拿手头的服务器摸摸底,记住「ss」比「netstat」快:shell> ss -ant

2016-08-22 00:44:20 321

转载 TCP的TIME_WAIT状态

主动关闭的Socket端会进入TIME_WAIT状态,并且持续2MSL时间长度,MSL就是maximum segment lifetime(最大分节生命期),这是一个IP数据包能在互联网上生存的最长时间,超过这个时间将在网络中消失。MSL在RFC 1122上建议是2分钟,而源自berkeley的TCP实现传统上使用30秒,因而,TIME_WAIT状态一般维持在1-4分钟。    TIME_WA

2016-08-22 00:42:27 261

转载 快速重传和快速恢复

2.2 快重传和快恢复    如果发送方设置的超时计时器时限已到但还没有收到确认,那么很可能是网络出现了拥塞,致使报文段在网络中的某处被丢弃。这时,TCP马上把拥塞窗口 cwnd 减小到1,并执行慢开始算法,同时把慢开始门限值ssthresh减半。这是不使用快重传的情况。    快重传算法首先要求接收方每收到一个失序的报文段后就立即发出重复确认(为的是使发送方及早知道有报文段没有到

2016-08-22 00:40:10 7794 1

转载 TCP流量控制和拥塞控制

TCP的流量控制1. 利用滑动窗口实现流量控制    如果发送方把数据发送得过快,接收方可能会来不及接收,这就会造成数据的丢失。所谓流量控制就是让发送方的发送速率不要太快,要让接收方来得及接收。    利用滑动窗口机制可以很方便地在TCP连接上实现对发送方的流量控制。    设A向B发送数据。在连接建立时,B告诉了A:“我的接收窗口是 rwnd = 400 ”(这里

2016-08-22 00:38:47 480

转载 Java IO : 流,以及装饰器模式在其上的运用

流概述Java中,流是一种有序的字节序列,可以有任意的长度。从应用流向目的地称为输出流,从目的地流向应用称为输入流。Java的流族谱Java的 java.io 包中囊括了整个流的家族,输出流和输入流的谱系如下所示:InputStream和OutputStreamInputStream和OutputStream分别是输入输出流的顶级抽象父类,只定义了一

2016-08-22 00:27:42 562

转载 javaIO流接口总结

Java流操作有关的类或接口:Java流类图结构: 流的概念和作用流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象。即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输特性将流抽象为各种类,方便更直观的进行数据操作。 IO流的分类根据处理数据类型的不同分为:字符流和字节流根据数据流向不同分为:输

2016-08-22 00:12:23 2790

转载 浅谈java异常[Exception]

一. 异常的定义在《java编程思想》中这样定义 异常:阻止当前方法或作用域继续执行的问题。虽然java中有异常处理机制,但是要明确一点,决不应该用"正常"的态度来看待异常。绝对一点说异常就是某种意义上的错误,就是问题,它可能会导致程序失败。之所以java要提出异常处理机制,就是要告诉开发人员,你的程序出现了不正常的情况,请注意。记得当初学习java的时候,异常总是搞不太清楚,不知道这个异

2016-08-21 23:58:38 369

转载 Cookie和Session机制详解

会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话。常用的会话跟踪技术是Cookie与Session。Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端记录信息确定用户身份。本章将系统地讲述Cookie与Session机制,并比较说明什么时候不能用Cookie,什么时候不能用Session。1.1  Cookie机制

2016-08-21 20:37:24 356

原创 缓存服务

许多Web应用都将数据保存到RDBMS中,应用服务器从中读取数据并在浏览器中显示。 但随着数据量的增大、访问的集中,就会出现RDBMS的负担加重、数据库响应恶化、 网站显示延迟等重大影响。 就是说把经常需要访问的数据对象缓存在内存中,提高响应速度。 常见的缓存系统:1. memcached2. redis3. ehcache4. dcacheetc.

2016-08-21 20:30:27 1063

原创 mysql学习之索引原理

数据表中默认字段数据表中,不要将0值设置为可能会正常出现的业务字段。理由是:当相应的字段在数据库中查不到时,如果在java程序中的处理不是返回null,那么将默认为0值,此时 "未找到" 和 可能的合法的一个默认0值将发生冲突。所以。  学习mysql:http://cenalulu.github.io/mysql/mysql-boo

2016-08-21 20:29:09 1187

原创 servlet、listener、filter、Interceptor

概念上: servlet:是运行于服务端的java程序,可生成动态的web页面。接受请求、产生响应页面和数据。filter:用于对请求或者相应进行预处理和后处理。它与Servlet的区别在于:它不能直接向用户生成响应。使用方式:实现了Filter接口的类,web.xml中配置。listener:监听,比如监听web服务器中的某次执行动作,并作出响应。在application

2016-08-21 20:27:35 445

转载 Java并发编程:线程间协作的两种方式:wait、notify、notifyAll和Condition

在前面我们将了很多关于同步的问题,然而在现实中,需要线程之间的协作。比如说最经典的生产者-消费者模型:当队列满时,生产者需要等待队列有空间才能继续往里面放入商品,而在等待的期间内,生产者必须释放对临界资源(即队列)的占用权。因为生产者如果不释放对临界资源的占用权,那么消费者就无法消费队列中的商品,就不会让队列有空间,那么生产者就会一直无限等待下去。因此,一般情况下,当队列满时,会让生产者交出对临界

2016-08-10 01:34:25 364

原创 java集合框架

Q:LinkedList源码? 实现了List、Deque接口,底层实现是双向(循环)链表,head节点不包含数据,可被当作堆栈、队列或者双端队列使用。双端队列的插入,addBefore(e, entry)的实现。 构造新的Entry,前后指针分别指向 entry 的pre和entry,然后调整entry的next以及entry的previous。 ListIterator接口。可以被当

2016-08-07 21:32:18 288

原创 java的枚举类型

java中的枚举?enum和Enum类 java中引入了枚举,通过enum关键字定义或者定义class继承Enum类。 直接使用常量的问题:一致性差(貌似enum也有这个问题?);没有命名空间;类型无意义; enum实际上采用了类似Map<id, value>这样的存储结构,所以可以通过enum.value(String)来获取对应的enum值。可以简单的理解为包含(id,value)对的对象

2016-08-06 23:56:23 219

原创 String,StringBuffer,StringBuilder 三者的区别

String,StringBuffer,StringBuilder 三者的区别? String是final的,当对String进行改变的时候,其实会生成一个新对象:经常改变的对象建议不要使用String,而是使用StringBuffer或者StringBuilder。StringBuffer:对该对象本身进行操作。 StringBuilder:与StringBuffer类似,不过针对单线程设计的

2016-08-06 22:54:00 437

原创 操作系统---进程/线程 间通信

进程间通信1. 三个问题:进程间的信息传递方式对共享变量的访问进程间执行顺序的问题 2. 竞争条件多个进程访问共享变量,结果取决于进程运行时的精确时序。 3. 临界区 互斥访问忙等待互斥:屏蔽中断、锁变量、严格轮换、Perterson解法、TSL指令。睡眠与唤醒方式。 4. 生产者消费者问题之前接触时以为弄懂了,现在细想其实不然,以为一个

2016-07-18 00:42:41 482

原创 操作系统---进程/线程 间通信

进程间通信三个问题: 进程间的信息传递方式 对共享变量的访问 进程间执行顺序的问题竞争条件:多个进程访问共享变量,结果取决于进程运行时的精确时序。临界区: 互斥访问 忙等待互斥:屏蔽中断、锁变量、严格轮换、Perterson解法、TSL指令。 睡眠与唤醒方式。生产者消费者问题: 之前接触时以为弄懂了,现在细想其实不然,以为一个共享变量的互斥访问就可以解决,no! Cpu在即将

2016-07-18 00:35:57 715

原创 操作系统---线程

POSIX线程线程包的实现 1.用户级线程包 线程的创建在用户空间中完成,多线程的存在对内核透明 优点: 线程的创建、撤销、切换 快 允许定制调度算法缺点: 阻塞的系统调用的问题,采用select方式效率也不够高,还有页面故障问题, 线程的永久运行问题 2.内核中实现线程 线程的创建、撤销都采用系统调用的方式实现,“所有能够阻塞线程的调用都以系统调用的形式实现”,(比如?) 3.混

2016-07-18 00:29:47 264

原创 操作系统---进程

定义:程序的执行实例; 是某种类型的活动。四种场景导致进程的创建: 系统启动 调用了进程创建系统调用 用户请求创建新进程 批处理作业初始化本质:已有进程执行了进程创建系统调用Unix中:唯一方式 fork(),与父进程相同的存储映像,环境字符串,打开的文件。进程终止:进程树: 进程状态: 进程的实现:数据结构,进程表/进程控制块:。。。待补充讨论

2016-07-18 00:28:43 241

原创 操作系统---相关概念

1. 进程和地址空间的概念进程包括: 地址空间:代码段、数据段、堆栈段 相关的资源集(对应的数据结构—进程表 process table):存放在操作系统中(内核空间?)2. 系统调用系统调用? 系统调用就像进入了一种特殊的过程调用,只有系统调用进入内核,过程调用不进入内核。 分类: 进程管理类:fork, waitpid, exec, exit

2016-07-18 00:26:05 307

原创 Java阻塞队列与管程

由于Java提供的用户级线程,这使得在Java中我们可以看到更多的关于线程的东西。最近看操作系统,在生产者消费者模型中,经典的信号量、互斥量解决方式之外,还有一种管程的解决方案。管程实际上是比信号量更高级的一种同步原语。发现在《现代操作系统》p79页中用管程实现生产者消费者问题的解法时,所用的管程不就是之前遇到过的阻塞队列解决方式吗?再回头看之前的 这篇博文最后一部分代码,发现两者本质上没有差别,这

2016-07-13 00:50:56 570

原创 LeetCode Medium : Search Insert Position

题目:https://leetcode.com/problems/search-insert-position/典型的二分查找实现思路 但是需要注意,这里相当于要在数组中查找最小的、大于等于目标值的元素下标,注意更新左边界条件的方式,之前写的一篇博文中介绍了怎样更新边界以避免死循环bug。另外还要注意,对于目标值是大于原数组中最大值和最小值得情况要特殊考虑。

2016-07-10 13:03:02 281

转载 神器——Chrome开发者工具

web开发者神器,收藏了,     链接:http://selfboot.cn/2014/09/19/chrome_DevTools_1/    https://segmentfault.com/a/1190000000683599 还有相关的内容。以下转载:----------------------------------------------------------

2016-07-08 13:41:37 491

原创 Git 使用总结

陆陆续续看的git说明书总也记不住,因为不懂其实际含义,或者忘记了很多命令,或者使用时模棱两可。在实际工程中需要使用时,更有目的性,需要更清晰的概念。首先是local侧: 除了git add, git commit, 等常规用法外,遇到的一个问题是在项目中一不小心 git add . ,将.jpg,等文件也加进来了。解决方法:用git rm -cached filename。解释:

2016-07-07 21:40:06 294

转载 Spring在xml文件中配置bean

最近在项目中学习spring的xml配置文件,发现其中的bean是主要部分,而且似乎形式多变,有必要全面了解一下,这篇文章总结的比较全面。-----------------------------------------------------------------------分割线-------------------------------------------------------

2016-06-29 20:41:46 8631

转载 Java泛型中遇到的协变问题

学习Java的泛型写程序时经常出现编译器报错,对于数据类型的转换安全问题。以下为转载:看下面一段代码Number num = new Integer(1); ArrayList list = new ArrayList(); //type mismatchListextends Number> list = new ArrayList();list.add(n

2016-05-25 14:44:27 654

原创 Ubuntu下用fn调节亮度没有反应

参考资料: http://www.cnblogs.com/droidxin/p/3695174.html http://www.cnblogs.com/congbo/archive/2012/09/12/2682308.html

2016-05-22 22:14:49 2726

原创 链表有环找入口的问题

之前遇到过这个问题,记得方法是先分别用两个快、慢指针,让他们在环中相遇,然后一个从头结点,一个从相遇点,都一次走一步,相遇点即为入口点。 但是关于这个结论的证明,看了网上好几个博客,感觉都说的不够清晰,印象中有一篇讲得还不错,还算理解了它的思想,今天做题时想要去搜结果搜不到了。 这里写下我自己的一点理解: 其中p点为快慢指针的相遇点。

2016-05-17 15:35:44 415 1

原创 Runnable、Callable和Future

我们通常说,在Java里面起多线程有两种方法:直接继承Thread类或者是实现Runnable接口。但是这两种方法都不能有直接的返回值,因为run方法是void类型,也没有提供其他的可以返回某类型的方法,我们可以通过线程间通信或者修改共享变量的方法来获取线程执行后的结果。 要直接实现返回变量类型,我们可以使用Callable接口public interface Callable {

2016-05-14 16:56:05 451

原创 CountDownLatch、CyclicBarrier和Semaphore

三个并发编程中的辅助类CountDownLatch主要实现类似计数器的功能,

2016-05-13 22:16:32 337

原创 Java线程池核心类ThreadPoolExecutor

通常,当需要同时处理的任务比较多时,为了避免为每个任务开一个线程(因为这样会导致频繁的线程开启和销毁,开销较大),采用线程池技术来进行线程资源的复用。   在应用中,我们通常使用Executors类提供的静态方法来使用线程池:ExecutorService exec0 = Executors.newCachedThreadPool(); //创建一个缓冲池,缓冲池容量大小为Integer.MAX_

2016-05-13 20:23:54 1038

原创 测试

public Future submit(Runnable task) { if (task == null) throw new NullPointerException(); RunnableFuture ftask = newTaskFor(task, null); execute(ftask); return ftask;

2016-05-12 21:21:08 262

原创 并发:阻塞队列与生产者消费者模型

对于生产者消费者模型,如果我们采用常规的容器,那么我们需要同步,并且需要在生产者线程和消费者线程之间做wait和notify的线程间通信。而阻塞队列将同步操作和生产者和消费者间的通信在容器内部实现,使用起来就不需要我们自己做同步和线程通信了。   一个典型的应用场景就是socket客户端数据的读取和解析。另外关于生产者-消费者模型,下面是采用Object.wait(),Object.notify(

2016-05-12 20:58:11 564

linux下目录文件字符编码转换shell脚本

使用方法:./fconv type1 type2 dir 含义:from 'type1' to 'type2' in directory 'dir'

2015-03-23

比较简单的心跳包

网上的一些心跳包不是太复杂就是太抽象,没有具体例子,这里给出一点实例,适合初学者

2012-05-13

空空如也

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

TA关注的人

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