- 博客(114)
- 收藏
- 关注
原创 服务器后台TCP连接存活问题
公司的服务器后台部署在某一个地方,接入的是用户的APP,而该地方的网络信号较差,导致了服务器后台在运行一段时间后用户无法接入,那边的同事反馈使用netstat查看系统,存在较多的TCP连接。1. 问题分析 首先在公司内部测试服务器上部署,使用LoadRunner做压力测试,能正常运行,然后那边的同事反馈该地方信号较差。考虑到接入的问题,有可能接入进程的FD资源耗尽,导致accep
2015-08-18 00:00:01 456908 2
原创 两个goroutines里面的话:
package mainimport ( "fmt")func loop(done chan bool) { for i := 0; i { fmt.Print(i) } done true}func main() { done := make(chan bool) go loop(done) go loop
2015-03-26 23:37:28 465
原创 检索一条记录
在创建索引时,我们根据IndexResponse,得到了index、type和id,检索一条记录的方法很简单,它可以用来判断指定index,type,id的索引是否存在GetResponse getResponse = client.prepareGet("blog", "post","1") .execute() .action
2015-03-26 23:36:06 475
原创 索引名字叫blog,type是post,id为1
IndexResponse response = client.prepareIndex("blog", "post", "1") .setSource(XContentFactory.jsonBuilder().startObject() .field("title", "test")
2015-03-26 23:34:59 706
原创 使用elasticsearch的帮助类
Elasticsearch 提供帮助类来生成JSON.import static org.elasticsearch.common.xcontent.XContentFactory.*;XContentBuilder builder = jsonBuilder() .startObject() .field("user", "kimchy") .fi
2015-03-26 23:33:41 652
原创 创建json document
elasticsearch有多种创建json document的方式1. 手写,比如String json = "{" + "\"user\":\"kimchy\"," + "\"postDate\":\"2013-01-30\"," + "\"message\":\"trying out Elasticsearch\"" + "
2015-03-26 23:31:28 746
原创 elasticsearch的重要概念
我们可以把elasticsearch当做数据库来理解:index:索引库名称,相当于关系型数据库中的表名,一个elasticsearch集群中可以有多个索引库。type:索引库中索引数据类型,为索引类型,是用来区分同索引库下不同类型的数据的,一个索引库下可以有多个索引类型。id:索引库中索引数据主键,唯一。http://photo.poco.cn
2015-03-26 23:30:30 452
原创 使用反射来解析Annotation
注意我们的Annotation的Retention Policy 必须是RUNTIME,否则我们无法在运行时从他里面获得任何数据。import java.lang.annotation.Annotation;import java.lang.reflect.Method;/** * Created by Administrator on 2015/3/26. */public cl
2015-03-26 23:09:39 344
原创 使用Java内置的Annotation 和 自定义的Annotation
public class AnnotationExample { @Override @MethodInfo(author = "xxx",version = "1.0",date = "2015/03/26",comment = "override toString()") public String toString() { return "Annota
2015-03-26 23:08:59 424
原创 Java 内置的Annotation
从java5版本开始,自带了三种标准annontation类型,Override,java.lang.Override 是一个marker annotation类型,它被用作标注方法。它说明了被标注的方法重载了父类的方法,起到了断言的作用。如果我们使用了这种annotation在一个没有覆盖父类方法的方法时,java编译器将以一个编译错误来警示。这个annotaton常常在我们试图覆盖父类
2015-03-26 23:05:57 435
原创 @Documented:
@Documented用于描述其它类型的annotation应该被作为被标注的程序成员的公共API,因此可以被例如javadoc此类的工具文档化。Documented是一个标记注解,没有成员。
2015-03-26 23:04:43 1725
原创 @Retention:
@Retention定义了该Annotation被保留的时间长短:某些Annotation仅出现在源代码中,而被编译器丢弃;而另一些却被编译在class文件中;编译在class文件中的Annotation可能会被虚拟机忽略,而另一些在class被装载时将被读取(请注意并不影响class的执行,因为Annotation与class在使用上是被分离的)。使用这个meta-Annotation可以对 A
2015-03-26 23:04:08 1404
原创 @Target:
@Target说明了Annotation所修饰的对象范围:Annotation可被用于 packages、types(类、接口、枚举、Annotation类型)、类型成员(方法、构造方法、成员变量、枚举值)、方法参数和本地变量(如循环变量、catch参数)。在Annotation类型的声明中使用了target可更加明晰其修饰的目标。 作用:用于描述注解的使用范围(即:被描述的注解可以用在
2015-03-26 23:03:05 977
原创 创建一个自定义的Annotation
import java.lang.annotation.*;import java.lang.reflect.Method;@Documented@Target(ElementType.METHOD)@Retention(RetentionPolicy.RUNTIME)public @interface MethodInfo { String author() default
2015-03-26 23:01:12 575
原创 使用TRY/CATCH 格式
--Transactions extend batchesBEGIN TRY BEGIN TRANSACTION INSERT INTO Sales.SalesOrderHeader... --Succeeds INSERT INTO Sales.SalesOrderDetail... --Fails COMMIT TRANSACTION -- If no errors, tran
2015-03-18 23:29:15 1626
原创 @@ERROR第二个例子中使用XACT_ABORT以后,第二条语句这回就无效了。
DECLARE @errnum AS int;SET XACT_ABORT ON; BEGIN TRAN; SET IDENTITY_INSERT Production.Products ON; -- Insert #1 will fail because of duplicate primary key INSERT INTO Production.Products(
2015-03-18 23:27:49 471
原创 使用 XACT_ABORT
使用XACT_ABORT,语句中发生错误,整段语句都会中止。SET XACT_ABORT ON;PRINT 'Before error';SET IDENTITY_INSERT Production.Products ON;INSERT INTO Production.Products(productid, productname, supplierid, categoryid,
2015-03-18 23:26:46 1441
原创 使用 @@ERROR
DECLARE @errnum AS int;BEGIN TRAN;SET IDENTITY_INSERT Production.Products ON;INSERT INTO Production.Products(productid, productname, supplierid, categoryid, unitprice, discontinued) VALUES(1, N
2015-03-18 23:23:56 2198
原创 THROW (会中断事务)
-- You can issue a simple THROW as follows:THROW 50000, 'Error in usp_InsertCategories stored procedure', 0;-- Because THROW does not allow formatting of the message parameter, you can use FORMATME
2015-03-18 23:22:48 840
原创 RAISERROR(不会中断事务)
简单的传递信息可以使用级别0~9 。如果你有sysadmin的角色,可以使用WITH LOG选项并设置一个严重级别>20的错误。error 发生的时候SQL Server会中断连接。使用NOWAIT选项可以直接发送信息,而不用等大赛bufferRAISERROR ('Error in usp_InsertCategories stored procedure', 16,
2015-03-18 23:21:27 2314
原创 解读错误信息
Msg 547, Level 16, State 0, Line 11The INSERT statement conflicted with the FOREIGN KEY constraint "FK_Products_Categories".The conflict occurred in database "TSQL2012", table "Production.Categories
2015-03-18 23:19:21 571
翻译 Erlang tool -- lager overload protection
这个事, 说大不大说小又不小. 大点的, 可以用scribe flume 这样的系统去做, 小点的, 也就打印一个调试信息而已. 在Erlang 中, log 这事情确实比较伤, error_logger 是个单点, io:format 容易导致节点崩溃. 在开源社区, lager 算是使用比较广泛的一个, 然而, 同样不能完全避免单点的问题. 因为在lager 中, lager_event 作为
2015-03-18 00:57:16 581
转载 概念扫盲(对,这是发生在正文之前的知识点。)
1、规则:CSS 规则由选择器,以及一条或多条声明两个部分构成。2、选择器:选择器通常是您需要改变样式的 HTML 元素。3、声明:声明是您要设置的样式(每条声明由一个属性和一个值组成)。4、属性:属性是您希望设置的样式属性(每个属性有一个值,属性和值被冒号分开)。http://www.gogoqq.com/aspx/309872
2015-03-18 00:55:23 380
原创 Controller给视图层传值。
我们给view层返回一个ModelAndView,其中,Model就是一个Map,里面存放了一对对的键值对,其可以直接在页面上使用。(页面上用${key},jsp页面中会显示values值。当要传多个值的时候,我们可以把多个值封装在一个对象中)。view是一个字符串,表示的是一个view的名称,结合prefix和suffix,我们可以拼接出完整的访问路径。那么,你想。我们可以仅仅返回一个Model
2015-03-18 00:40:17 996
原创 访问方法的url就是类上的加上方法上的
@Controller @RequestMapping("/blog") public class BlogController { @RequestMapping("/index") public String index(Map map) { return "blog/index"; } } 如上,当类上有@Requ
2015-03-18 00:36:46 556
原创 blog-servlet.xml配置文件
bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> property name="prefix" value="/WEB-INF/" /> property name="suffix" value=".jsp" /> bean> 如上,根据Con
2015-03-18 00:34:35 480
原创 不想使用默认的“配置文件的位置”,那么可以来配置
servlet> servlet-name>blogservlet-name> servlet-class>org.springframework.web.servlet.DispatcherServletservlet-class> init-param> param-name>contextConfigLocationparam-name>
2015-03-18 00:34:27 481
原创 基于注解的Spring MVC简单介绍)
SpringMVC是一个基于DispatcherServlet的MVC框架,每一个请求最先访问的都是DispatcherServlet,DispatcherServlet负责转发每一个请求给Handler,Handler处理之后,再返回给相应的视图和模型.即(ModelAndView)。在使用注解的SpringMVC中,处理器Handler是基于@Controller和@RequestMappin
2015-03-18 00:32:40 495
原创 在RegisterCommon()函数
private static DependencyProperty RegisterCommon(string name, Type propertyType, Type ownerType, ……){ // 创建一个有关依赖项属性名称以及所在类型的结构,并将作为依赖项属性查找的Key FromNameKey key = new FromNameKey(name, own
2015-03-17 01:10:23 748
原创 .net源码摘录,已展开
object GetValue(DependencyProperty dp){ // 从_effectiveValues中查找当前依赖项属性所对应的条目 EntryIndex entryIndex = this.LookupEntry(dp.GlobalIndex) EffectiveValueEntry entry; if (entryIndex.Found)
2015-03-17 01:06:06 455
原创 依赖项属性的组成
WPF属性系统所提供的各个功能主要是通过依赖项属性来暴露的。因此了解属性系统的最重要方式就是了解一个依赖项属性到底提供了什么样的功能。在本节中,我们将对这篇文章所提到的依赖项属性功能进行一次简单的介绍。 首先是依赖项属性的组成。如果需要为一个类型定义一个依赖项属性,那么该类型首先需要从DependencyObject类派生,以获得对属性系统的支持。而在依赖项属性的标准实现中,一个依赖项属
2015-03-17 01:02:39 572
原创 WPF - 属性
本来我希望这一系列文章能够深入讲解WPF属性系统的实现以及XAML编译器是如何使用这些依赖项属性的,并在最后分析WPF属性系统的实际实现代码。但是在编写的过程中发现对WPF属性系统代码的讲解要求之前的介绍能触及到属性系统的方方面面。而且其内部实现代码涉及到了众多的内部算法,对它们进行讲解反而可能导致读者产生更多迷惑。因此我最终改变了初衷,将这一系列文章重新定义为介绍WPF属性系统所提供的各种功能,
2015-03-17 01:00:41 415
原创 css2 属性clip实现网页进度条
在实现之前,我们先来介绍一下clip属性,因为这个属性在css2.1中很少使用到,所以我们有必要来了解一下;浏览器支持程度:所有主流浏览器都支持 clip 属性。 Clip属性在w3c官网是这样描述的:通过对元素进行裁剪来控制元素的可视区域,默认情况下 元素是不进行任何裁剪的。Clip裁剪的语法如下: .xx {clip:rect(, , , )}Rect属
2015-03-17 00:58:15 871
原创 zookeeper Watcher API 说明
Watcher 在 ZooKeeper 是一个核心功能,Watcher 可以监控目录节点的数据变化以及子目录的变化,一旦这些状态发生变化,服务器就会通知所有设置在这个目录节点上的 Watcher,从而每个客户端都很快知道它所关注的目录节点的状态发生变化,而做出相应的反应.可以设置观察的操作:exists,getChildren,getData可以触发观察的操作:create,del
2015-03-15 22:47:18 467
转载 高精度的进制转换
1 #include 2 #include string.h> 3 4 char str[1000];//输入字符串 5 int start[1000],ans[1000],res[1000]; //被除数,商,余数 6 //res[]存的是余数,其最后结果的逆序为所求的结果 7 //转换前后的进制 8 const int oldBase = 10; 9 const int n
2015-03-15 22:28:47 1114
转载 javascript运算符整理
说起运算符,基本上各类编程语言中都会涉及,使用方法大同小异。今天在这里以javascript做简单的整理。 总得来说运算符还是比较的多,大致可以分为以下几种类型:一元运算符位运算符布尔运算符乘性运算符加性运算符关系运算符等性运算符条件运算符赋值运算符逗号运算符可以说只要学习过变成语言对这些运算符应该是并不陌生的,只要有逻辑或者是计算都会用到上面的运算符,之前我也是比
2015-03-15 22:24:58 364
原创 Spring源码研究--下载-编译-导入eclipse-验证
一,环境配置操作系统:Unbutu14.04LTSJDK: 1.8.0_40git: 1.9.1gradle: 2.2.1二,源码下载-编译-导入eclipse-验证1,下载使用git直接clone Spring源码到本地:git clone git://github.com/SpringSource/spring-framework.git
2015-03-15 22:24:50 360
原创 冒泡排序和快速排序(Object-C)
冒泡和递归一样,不管大家水平怎么样,基本上都能凑合的写写,快速排序其实主要的也是数据的交换,都算是交换排序,不过快排需要了解分治思想,实现的时候需要递归一下,导致很多时候看快排的时候都看的云里雾里。假设有一个无序的整型数组索引 0 1 2 3 4 5 6数值 15 32 8 99 12 17 36,
2015-03-15 22:19:55 730
原创 Java并发包源码学习之AQS框架(三)LockSupport和interrupt
其实除了LockSupport,Java之初就有Object对象的wait和notify方法可以实现线程的阻塞和唤醒。那么它们的区别 是什么呢?主要的区别应该说是它们面向的对象不同。阻塞和唤醒是对于线程来说的,LockSupport的park/unpark更符合这个语义,以“线程”作为方法的参数, 语义更清晰,使用起来也更方便。而wait/notify的实现使得“线程”的阻塞/唤醒对线
2015-03-14 22:32:01 629
原创 Hive UDF 实验1
项目中使用的hive版本低于0.11,无法使用hive在0.11中新加的开窗分析函数。在项目中需要使用到row_number()函数的地方,有人写了udf来实现这个功能。new java project, BuildPath add hadoop-core..jar and hive-exec…jar。12345
2015-03-14 22:28:56 495
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人