- 浏览: 183060 次
- 性别:
- 来自: 北京
最新评论
-
小黄牛:
基于支付系统真实场景的分布式事务解决方案效果演示:http:/ ...
spring 7 种分布式事务实现 -
blue2048:
看看两个实例的端口要不一样,另外,看看日志提示有没有错误
elasticsearch 单机部署 集群 -
mtsw2011:
我改了# Set the bind address speci ...
elasticsearch 单机部署 集群
文章列表
概述
排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。
我们这里说说八大排序就是内部排序。
当n较大,则应采用时间复杂度为O(nlog2n)的排序方法:快速排序、堆排序或归并排序序。
注意以下几点
1. 原始字符数组输入的顺序,将字符装入list后,需要从第一个字符开始pop,所以代码使用add
2. 使用两个list进行计算
3. 遇到操作符后,运算的两个数字是有序的,代码中为a,b的运算顺序
public class Solution {
public int evalRPN(String[] tokens) {
List<String> operations = new ArrayList<String>();
operations.add("+");
...
需要注意一下几点
1. 可能存在多个连续空格的情况
2. 需要trim
3. 不是字符串倒序,而是以单词的形式倒序
public class Solution {
public String reverseWords(String s) {
boolean postFlag = false;
boolean spaceFlag = false;
StringBuilder result = new StringBuilder(200);
StringBuilder sb = new StringB ...
一、基本概念
动态规划过程是:每次决策依赖于当前状态,又随即引起状态的转移。一个决策序列就是在变化的状态中产生出来的,所以,这种多阶段最优化决策解决问题的过程就称为动态规划。
二、基本思想与策略
...
(一)Unicode与UCS的历史恩怨
ASCII及相关标准地球人都知道ASCII就是美国标准信息交换码的缩写,也知道ASCII规定用7位二进制数字来表示英文字符,ASCII被定为国际标准之后的代号为ISO-646。由于ASCII码只使用了7个二进制位,也就是说一个字节可以表示的256个数字中,它仅使用了0~127这128个码位,剩下的128个码位便可以用来做扩展,用来表示一些特定语言所独有的字符,因此对这多余的128个码位的不同扩展,就形成了一系列ISO-8859-*的标准。例如为英语作了专门扩展的字符集编码标准编号为ISO-8859-1,也叫做Latin-1,为希腊语所作的扩展编号为I ...
——每个软件开发人员应该无条件掌握的知识!
——Unicode伟大的创想!
相信大家一定碰到过,打开某个网页,却显示一堆像乱码,如"бЇЯАзЪСЯ"、"�????????"?还记得HTTP中的Accept-Charset、Accept-Encoding、Accept-Language、Content-Encoding、Content-Language等消息头字段?这些就是接下来我们要探讨的。
目录:
1.基础知识
2.常用字符集和字符编码
elasticsearch 单机部署 集群
- 博客分类:
- 环境部署
elasticsearch如果部署在不同的服务器上,处于同一网段,根据默认配置可以成为一个集群
但同一台服务器上,测试集群的时候,发现实例发现不了其他的实例,追究原因,发现应该是ip地址的问题,默认启动实例,ip是一串0,修改配置文件如下(见附件)
说仿新浪其实算是个嚼头,吸引人们的眼球,对于常规的进制算法可以去参看数据结构一书 通过取模方式计算出对应的n进制数
Java代码
int nv = 2; //进制
int n = 4;
HttpClient连接池抛出大量ConnectionPoolTimeoutException: Timeout waiting for connection异常排查
http://blog.csdn.net/shootyou/article/details/6615051#comments
今天解决了一个HttpClient的异常,汗啊,一个HttpClient使用稍有不慎都会是毁灭级别的啊。
这里有之前因为route配置不当导致服务器异常的一个处理:http://blog.csdn.net/shootyou/article/details/6415248
里面的Htt ...
最近在看数据库的东西,了解到mysql的mvcc后,开始寻找各种资料,但说的都不是很清楚,看了几天,发现还是不知道是咋回事,今天找到一篇文章,讲的非常透彻,很清楚,拿出来记录在这里
Mysql到底是怎么实现MVCC的?这个问题无数人都在问,但google中并无答案,本文尝试从Mysql源码中寻找答案。
在Mysql中MVCC是在Innodb存储引擎中得到支持的,Innodb为每行记录都实现了三个隐藏字段:
6字节的事务ID(DB_TRX_ID )
7字节的回滚指针(DB_ROLL_PTR)
隐藏的ID
6字节的事物ID用来标识该行所述的事务,7字节的回滚指针需 ...
在开spring源码的时候注意到PROPAGATION_REQUIRES_NEW 和 PROPAGATION_NESTED两种传播机制的是容易混淆的。
查阅了一些文章后,发现二者的区别主要在于以下两点
1. 开启事务的多少,PROPAGATION_REQUIRES_NEW会开启很多事务,外部事务挂起,里面的事务独立执行,对性能的损耗较大。PROPAGATION_NESTED为父子事务,实际上是借助jdbc的savepoint实现的,属于同一个事物。
2. PROPAGATION_NESTED的回滚可以总结为,子事务回滚到savepoint,父事务可选择性回滚或者不不滚;父 ...
jdk里有两个复制数组的方法
一个是底层native的 System.arraycopy
一个Arrays里的一系列重写的copyof
二者有什么关系,我们应该用哪个呢?上段源码就明白了
public static <T,U> T[] copyOf(U[] original, int newLength, Class<? extends T[]> newType) {
T[] copy = ((Object)newType == (Object)Object[].class)
? (T[]) new Object[n ...
Idea实现热部署需要以下几步
1.open module setting,设置path,使output path指向存放实时编译class的文件夹
2.设置Artifacts,选择exploded选项,勾选Build on make.并且查看webapp路径是否指向项目的webapp文件夹
3.编辑tomcat 6 启动选项,在Deployment选项卡中加载war exploded类型的artifact;在Server选项卡中设置On frame deactivation为 Update classes and resources
Ok,大功告成,可以开发了
有些类中存在类型码,可能是常量、也可能是枚举类型,这些其实也挺好,但是有时代码逻辑变的复杂时,我们想让状态码也承担一部分责任,这时我们使用Replace Type Code with Class进行重构。
首先,这份三种情况,
1.如果在原始类中,状态码只是常量,我们使用Replace Type Code with Class
2.如果在原始类中,方法根据状态码有一些列动作,且原始类没有子类,这时我们使用Replace Type Code with Subclasses
3.如果原始类有子类,那么我们使用Replace Type Code with State/Strat ...
重构过程中,我们经常会使用Extract Method,当被抽取的函数局部变量繁杂时,Extract Method往往难以进行...
这时候我们可以使用Replace Method with Method Object来简化分析局部变量的工作。
其核心思想是使用类的成员属性保存变量,以达到在对象范围内变量的使用,而不用在函数间传递。
需要做的工作,有以下几步。
1.创建新对象,域中包含被抽取方法对象的引用和抽取函数中所有涉及到的局部变量
2.新建一个方法,并命名,将被抽取函数所有内容移至该函数内
3.在被抽取函数体内实例化新对象,并掉用其新建的方法
finally,
在新建的对象内,对新建的 ...