- 博客(84)
- 资源 (1)
- 收藏
- 关注
原创 [算法]动态规划之0-1背包
问题描述描述:石头收藏家小明在徒步登山的时候发现了一堆美丽的石头。这些石头价值不菲,但是都很重,小明自身的力气有限,一次只能拿他拿得动的一部分。每块石头的重量不同,价值也不同。问小明在力所能及的情况下能拿走价值多少的石头。 说明:小明只能搬运一次。 例如:小明只能拿得动 10 kg,每块石头的重量分别为2kg,3kg,5kg,7kg,对应的价值分别为 1万,5万,2万,4万。小明能拿的是 3kg
2017-02-08 17:12:44 1388
原创 reactor与proactor
同步异步同步和异步是针对应用程序和内核的交互而言的; 同步: 指的是用户进程触发IO操作并等待或者轮询的去查看IO操作是否就绪, 异步: 是指用户进程触发IO操作以后便开始做自己的事情,而当IO操作已经完成的时候会得到IO完成的通知。阻塞非阻塞阻塞和非阻塞是针对于进程在访问数据的时候,根据IO操作的就绪状态来采取的不同方式,说白了是一种读取或者写入操作函数的实现方式; 阻塞方式下
2016-05-27 15:07:05 519
原创 Nginx入门
简介Nginx由俄罗斯人Igor Sysoev编写的一款高性能的HTTP和反向代理服务器。能够选择高效的epoll、kqueue、eventport作为网络 IO模型,支持高连接并发情况下内存、CPU等系统资源消耗都非常低。 淘宝Tengine: 基于nginx,添加了很多高级功能和特性。优点支持高并发支持热部署稳定性高耗内存少特性异步非阻塞,事件驱动单线程多进程,绑定CPU,减少上
2016-05-25 16:47:21 614
原创 IO-同步异步,阻塞非阻塞,select, poll , epoll
本文讨论背景为Linux环境下的Network IO。对于一个Network IO而言,应用程序process(or thread)向系统 内核kernel发起IO 调用,涉及到两个步骤: - 等待数据准备完成(waiting for data for ready) - 将数据从内核拷贝到进程中(copying data from the kernel to the process)不同的I
2016-05-25 14:44:49 705
原创 Nginx、Apache、Tomcat区别
服务器 Apache Nginx Tomcat 类型 Http服务器HTTP Server Http服务器HTTP Server 资源 静态资源? 静态资源 动态资源Apache与Tomcat比较1 . Apache支持静态页,Tomcat支持动态的,比如Servlet等, 一般使用Apache+Tomcat的话,Apache只是作为一个转发,对
2016-05-24 16:53:02 1127
原创 Linux下安装Nginx
安装gcc 及gcc-c++输入 gcc -v 确认系统是否已安装gcc,如果已安装,跳过此步骤。如果没有安装,则运行命令yum -y install gcc gcc-c++通过yum安装gcc 及gcc-c++安装zlib库下载zlib包,http://www.zlib.net/ ,上传到服务器上,我下载的是zlib-1.2.8.tar.gz一步步执行以下命令[root@localhost
2016-05-20 14:10:36 583
转载 (转)java classload 机制 详解
原文链接:http://blog.csdn.net/lang_man_xing/article/details/7252846类加载器是 Java 语言的一个创新,也是 Java 语言流行的重要原因之一。它使得 Java 类可以被动态加载到 Java 虚拟机中并执行。类加载器从 JDK 1.0 就出现了,最初是为了满足 Java Applet 的需要而开发出来的。Java Ap
2016-03-15 12:57:17 6599
转载 (转)java并发编程: 彻底理解ThreadLocal
http://blog.csdn.net/lufeng20/article/details/24314381
2016-01-06 17:27:10 488
翻译 多组件-Multiple Components
多组件-Multiple Components标签(空格分隔): react这篇文章主要写React最赞的一个特性:组合性动机:关注点分离通过复用那些拥有完美接口定义的组件,可以构建模块化的组件,这样做的带来的好处与使用函数或者类相同。特别的,简单的构建新组件能够使应用app的关注点分离。通过在应用中构建一个定制的组件库,能够使你的UI更好的匹配对应的域。组合组件示例以下例子创建了一个简单的Avat
2015-12-23 11:17:27 1422
翻译 React - 交互性和动态UI
React - 交互性和动态UI标签(空格分隔): react, 前端框架简单的例子html代码:<!DOCTYPE html><html> <head> <meta charset="UTF-8" /> <title>Hello React</title> <script src="https://cdnjs.cloudflare.com/ajax/libs/reac
2015-12-22 16:58:19 1357
翻译 深入JSX
HTML标签和React组件React既可以渲染HTML标签,也可以渲染React组件。 在JSX语法中,html标签一般以小写字母打头,如:var myDivElement = <div className="foo" />;ReactDOM.render(myDivElement, document.getElementById('example'));在React组件中,一般是先定义一个以
2015-12-21 15:29:48 1249
原创 Sublime Text3相关插件安装
Package Control两种安装方法,一种是命令行安装,一种是手动安装。 1. 命令行安装 - ctrl +` 或者 view -> show console打开console界面 - 将以下代码复制到console里,回车import urllib.request,os,hashlib; h = '2915d1851351e5ee549c20394736b442' + '8bc59f4
2015-12-21 15:05:04 570
原创 windows环境下nodejs安装
官网上下载windows对应版本。https://nodejs.org/en/download/双击,安装,可以指定安装目录。3.cmd打开命令行,cd进nodejs安装目录 ,可通过node -v 命令查看 nodejs是否安装成功新版配的已集成了npm,所以无需安装npm。可通过npm -v 查看npm是否安装成功。由于单位网络设置了代理,所以需要相关参数。 记住:proxy的url前
2015-12-17 09:41:53 472
原创 Curator之recipes之Cache
http://curator.apache.org/curator-recipes/path-cache.html‘分为三种:Path Cache,Node Cache,Tree CachePath CachePath Cahce主要用来监听Zonde的变化 。 增加、更新或者删除一个zNode,path Cache会随之进行更新:包含新的children集合,children上的
2015-12-11 14:28:50 2563
原创 Curator之recipes之Counters
http://curator.apache.org/curator-recipes/shared-counter.html http://ifeve.com/zookeeper-sharedcount/分两种,Shared Counter和Distributed Atomic Long共享计数器Shared Counter管理一个共享的整型数。所有客户端监听相同的path能够获取共享整型数的最新
2015-12-10 17:14:06 879
原创 Curator之Recipes之锁
参考文档: http://ifeve.com/java_lock_see4/ http://ifeve.com/zookeeper-lock/ 官网:http://curator.apache.org/curator-recipes/shared-reentrant-lock.html Recipes实现的锁有五种: Shared Reentrant Lock
2015-12-10 15:27:54 2745
原创 curator之recipes之Barrier
参考文档: http://ifeve.com/zookeeper-barrier/ 分布式系统中使用barrier阻塞多个进程,直到某个条件满足时,所有节点上的进行才会继续执行。 比如赛马比赛中, 等赛马陆续来到起跑线前。 一声令下,所有的赛马都飞奔而出。栅栏Barrier相关的类DistributedBarrier使用public DistributedBarrier(CuratorFra
2015-12-09 17:21:22 615
原创 Curator之Recipes之选举
分布式计算中,选举就是指定一个线程用来选择多个节点的领导者。在任务开始时,所有的节点都不知道哪个为领导者。选举算法开始后,领导者选出来后,每个节点通过网络知道领导者的存在。 Curator中选举分为两种: Leader Latch和Leader ElectionLeader Latch很简单的选举算法。随机从候选者中选择一台作为leader, 选中后除非leader自己 调用close()释放le
2015-12-08 15:33:57 2958
原创 CuratorFramework使用
CuratorFrameworkFramework是ZooKeeper Client更高的抽象API 自动连接管理: 1. 当ZooKeeper客户端内部出现异常, 将自动进行重连或重试, 该过程对外几乎完全透明 2. 监控节点数据变化事件NodeDataChanged,需要时调用updateServerList()方法 3. Curator recipes自动移
2015-12-03 11:01:37 13528
原创 jdk使用问题汇总
安装多个jdk时,有时候设置java_home并不生效这是因为在安装jdk时,系统默认会把java.exe, javaw.exe,javaws.exe三个文件复制到c:\windows\system32目录下,而在环境变量path中,system32在%java_home%\bin前面,优先级比它高,所以修改java_home时,并不生效 此时,将这三个文件删除即可。Access restrict
2015-11-26 10:45:13 532
转载 Linux下Java线程详细监控和其dump的分析使用—-分析Java性能瓶颈
http://ju.outofmemory.cn/entry/88242
2015-11-17 13:47:40 535
原创 多线程作加法计算
问题:多线程计算1+2+…+100,如:起四个线程,分别计算1+2+..25, 26+27+…+50, 51+52+…+75, 76+77+…100, 最后将总和相关,输出应为5050
2015-11-10 11:25:26 9260 1
转载 JAVA 线程池
转自并发编程网 http://ifeve.com/java-threadpool/1. 引言合理利用线程池能够带来三个好处。 1. 降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。 2. 提高响应速度。当任务到达时,任务可以不需要的等到线程创建就能立即执行。 3. 提高线程的可管理性。线程是稀缺资源,如果无限制的创建,不仅会消耗系统资源,还会降低系统的稳定性,使用线程池可
2015-11-04 15:33:36 430
原创 两线程交替打印数字
两线程交替打印数字问题: 起两个线程,线程1打印奇数,线程2打印偶数,两线程交替打印。 解决方法: 通过wait(),notify()实现。
2015-11-04 14:55:17 3979
原创 Maven报Plugin execution not covered by lifecycle configuration
同步笔记:http://app.yinxiang.com/shard/s7/sh/950c7080-ce28-444b-a802-ba15f3633413/bf6f44d7ea2859469db4114fa3dd962dlifecycle mapping: 定义插件生命周期中必须要做的操作。对于没有lifecycle mapping文件的工程,会报如下错误:Plugin execu
2015-02-05 17:52:10 9336
转载 树的遍历
/******************************************************************** created: 2005/12/30 created: 30:12:2005 10:39 filename: bintree.h author: Liu Qi
2012-09-06 13:53:00 480
原创 java中的File类
1. 创建文件和目录如下代码创建一个目录E:\test,下面有两个文件1.txt, 2.txt ,一个目录dir,dir下有两个文件3.txt,4.txt System.out.println("create directory..."); File f=new File("E:"+File.separator+"test"); //File.separator为
2012-08-29 16:58:11 507
原创 mysql 导入数据
命令:LOAD DATA INFILE 'D:/cy_province.unl' INTO TABLE cy_province character set utf8FIELDS TERMINATED BY '|' ENCLOSED BY '/'' LINES TERMINATED BY '/n' (dload_type, content_name, server, infohash
2012-08-23 10:26:29 387
转载 C++ vector 用法汇总
C++ vector 用法汇总 2010-05-14 15:10:17| 分类: 默认分类|字号 订阅标准库Vector类型使用需要的头文件:#include Vector:Vector 是一个类模板。不是一种数据类型。 Vector是一种数据类型。 一、 定义和初始化Vector v1;
2012-08-20 16:02:16 547
转载 When to Use a 301 vs. 302 Redirect
When to Use a 301 vs. 302 Redirect – SEO Tip Week 35Written on September 2, 2007 – 9:51 am | by Shell Harris |If you're new here, you may want to subscribe to my RSS feed. Thanks for v
2012-08-13 15:55:11 783
转载 Java对象序列化与RMI
对于一个存在于Java虚拟机中的对象来说,其内部的状态只保持在内存中。JVM停止之后,这些状态就丢失了。在很多情况下,对象的内部状态是需要被持久化下来的。提到持久化,最直接的做法是保存到文件系统或是数据库之中。这种做法一般涉及到自定义存储格式以及繁琐的数据转换。对象关系映射(Object-relational mapping)是一种典型的用关系数据库来持久化对象的方式,也存在很多直接存储对象的
2012-08-13 14:16:45 993
转载 java中字符集的问题
1、JVM中单个字符占用的字节长度跟编码方式有关,而默认编码方式又跟平台是一一对应的或说平台决定了默认字符编码方式;2、对于单个字符:ISO-8859-1单字节编码,GBK双字节编码,UTF-8三字节编码;因此中文平台(中文平台默认字符集编码GBK)下一个中文字符占2个字节,而英文平台(英文平台默认字符集编码Cp1252(类似于ISO-8859-1))。3、getBytes()、getBy
2012-08-10 18:03:46 4765
转载 HashSet与HashMap关系之源码分析
本文转帖自http://lukuijun.javaeye.com/blog/340756 题目:请说出hashCode方法,equals方法,HashSet,HasMap之间的关系? 解答:策略,分析jdk的源代码:1、HashSet底层是采用HashMap实现的。1 public HashSet() {2 map = new Hash
2012-08-10 16:25:17 1247
转载 Java 理论与实践: 变还是不变?
Java 理论与实践: 变还是不变?不变对象能极大地简化您的生活Brian Goetz (brian@quiotix.com), 首席顾问, Quiotix Corp简介: 不变对象具有许多能更方便地使用它们的特性,包括不严格的同步需求和不必考虑数据讹误就能自由地共享和高速缓存对象引用。尽管不变性可能未必对于所有类都有意义,但大多数程序中至少有一些类将受
2012-08-10 16:11:13 792
转载 ConcurrentModificationException异常解决办法
原文地址:ConcurrentModificationException异常解决办法作者:心灵征途1月30日java.util.ConcurrentModificationException异常(转)1、今天在写一个带缓存功能的访问代理程序时出现了java.util.ConcurrentModificationException异常, 因为该异常是非捕获型异常而且很
2012-08-10 16:00:39 847
转载 HashMap原理、源码、实践
HashMap是一种十分常用的数据结构,作为一个应用开发人员,对其原理、实现的加深理解有助于更高效地进行数据存取。本文所用的jdk版本为1.5。 使用HashMap 《Effective JAVA》中认为,99%的情况下,当你覆盖了equals方法后,请务必覆盖hashCode方法。默认情况下,这两者会采用Object的“原生”实现方式,即: Java代码:pr
2012-08-10 15:44:08 1040
转载 JDK HashMap源代码分析
文章来自下面的网址:http://www.360doc.com/content/10/1214/22/573136_78200435.shtml1. HashMap 概述: HashMap 是基于哈希表的 Map 接口的非同步实现。此实现提供所有可选的映射操作,并允许使用 null 值和 null 键。此类不保证映射的顺序,特别是它不保证该
2012-08-10 15:34:58 2363
转载 linkedHashMap的应用
一. 概述: LinkedHashMap是Map接口的哈希表和链接列表实现,具有可预知的迭代顺序。LinkedHashMap实现与HashMap的不同之处在于,LinkedHashMap维护着一个运行于所有条目的双重链接列表。此链接列表定义了迭代顺序,该迭代顺序可以是插入顺序(insert-order)或者是访问顺序,其中默认的迭代访问顺序就是插入顺序,即可以按插入的顺序遍历元
2012-08-09 19:40:11 10599 3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人