`
文章列表

学习起步

微服务学习,参照以下网站 http://microservices.io/ http://martinfowler.com/articles/microservices.html

Lucene

Lucene学习
1. 类简介   Executors类可以看做一个“工具类”。援引JDK1.6 API中的介绍:   此包中所定义的 Executor、ExecutorService、ScheduledExecutorService、ThreadFactory 和 Callable 类的工厂和实用方法。此类支持以下各种方法: 创建并返回设置有常 ...
1.  类介绍     引用 自JDK1.6 API介绍:      一个同步辅助类,它允许一组线程互相等待,直到到达某个公共屏障点 (common barrier point)。在涉及一组固定大小的线程的程序中,这些线程必须不时地互相等待,此时 CyclicBarrier 很有用。因为该 barrier 在释放等待线程后可以重用,所以称它为循环 的 barrier。   CyclicBarrier 支持一个可选的 Runnable 命令,在一组线程中的最后一个线程到达之后(但在释放所有线程之前),该命令只在每个屏障点运行一次。若在继续所有参与线程之前更新共享状态,此屏障操作 很有用。 ...
1. 类简介     引用JDK1.6 API中的介绍:     一个同步辅助类,在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待。     用给定的计数初始化 CountDownLatch。由于调用了 countDown() 方法,所以在当前计数到达零之前,await 方法会一直受阻塞。之后,会释放所有等待的线程,await 的所有后续调用都将立即返回。这种现象只出现一次——计数无法被重置。如果需要重置计数,请考虑使用 CyclicBarrier。 CountDownLatch 是一个通用同步工具,它有很多用途。将计数 1 初始化的 CountDownLatc ...
    在JDK1.5之前,Java中要进行业务并发时,通常需要程序员独立完成代码实现,而当针对高质量Java多线程并发程序设计时,为防止死蹦等现象的出现,比如使用java之前的wait()、notify()、notifyAll()和synchronized等,每每需要考虑性能 ...
Percona Toolkit 是一组高级的命令行工具,用来管理 MySQL 和系统任务,主要包括: 1、验证主节点和复制数据的一致性 2、有效的对记录行进行归档 3、找出重复的索引 4、总结 MySQL 服务器 5、从日志和 tcpdump 中分析查询 6、问题发生 ...

结对编程

结对编程  一.结对编程的概念       结对编程的英文翻译为pair programming。是一种敏捷软件开发的方法,两个程序员在一个计算机上共同工作。一个人输入代码,而另一个人审查他输入的每一行代码。输入代码的人称作驾驶员,审查代码的人称作观察员(或导航员)。两个程序员经常互换角色。     在结对编程中,观察员同时考虑工作的战略性方向,提出改进的意见,或将来可能出现的问题以便处理。这样使得驾驶者可以集中全部注意力在完成当前任务的“战术”方面。观察员当作安全网和指南。结对编程对开发程序有很多好处。比如增加纪律性,写出更好的代码等。   二. 结对编程的利与弊    第一, ...

FireBug的使用

1. 性能分析:性能分析(Profiler)就是分析程序各个部分的运行时间,找出瓶颈所在,使用的方法是console.profile()。       var endResult2 = 0;      function Foo(){                for(var i=0;i<10;i++){funcA(1000);}                funcB(10000);        }        function funcA(count){                for(var i=0;i<10000;i++)                {  ...
   SQL语句的编写是一门艺术,在编写SQL语句时,首先应该保证语句使用的正确性,然后再考虑SQL语句的效率。如果一个SQL语句本身都不正确,那么效率问题就免谈了。下面记录几点在写SQL语句时应该注意的问题: 1. 在有group by的语句中,select中搜索的字段应该是在group by中出现的,或者是字段的聚合函数计算值,举例如下: SELECT co,c3,c5,c11 FROM ST12509_main WHERE c4='帕克' GROUP BY co,c3; 这种写法是不合理的,,c5和c11的值存在不确定性,正确的应该为 SELECT co,c3 FROM ST12509 ...

Java中的native方法

    博客分类:
  • java
 
注:此处只是临时记录一下,以后有时间的时候再仔细整理。 可以将native方法比作Java程序同C程序的接口,其实现步骤:   1、在Java中声明native()方法,然后编译;   2、用javah产生一个.h文件;   3、写一个.cpp(或.c)文件实现native导出方法,其中需要包含第二步产生的.h文件(注意其中又包含了JDK带的jni.h文件);   4、将第三步的.cpp文件编译成动态链接库文件;   5、在Java中用System.loadLibrary()方法加载第四步产生的动态链接库文件,这个native()方法就可以在Java中被访问了。 以下是手工编写动 ...

调查问卷

https://www.surveymonkey.com/ 在线创建自己的调查问卷,多种方式呈现
MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。   MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。
Sybase IQ是Sybase公司推出的特别为数据仓库设计的关系型数据库。IQ的架构与大多数关系型数据库不同,它特别的设计用以支持大量并发用户的即时查询。其设计与执行进程优先考虑查询性能,其次是完成批量数据更新的速度。而传统关系型数据库引擎的设计既考虑在线的事务进程又考虑数据仓库(而事实上,往往更多的关注事务进程)。

redis

redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)和zset(有序集合)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。   Redis 是一个高性能的key-valu ...
Global site tag (gtag.js) - Google Analytics