随笔分类 - Java原理
摘要:1、 安装PostgreSQL。 2、 安装PostGis(安装目录为PostgreSQL目录)。 3、 安装osm2pgsql。 osm2pgsql下载地址:http://customdebug.com/osm/osm2pgsql.zip default.style文件:https://githu
阅读全文
摘要:使用mysql作为开发数据库,创建user表。创表语句如下: 一、使用Java直接连接mysql 1、添加mysql驱动 2、连接代码如下 3、执行效果 二、使用连接池连接数据库 这里以C3p0连接池作为样例,连接池里的连接使用完后,需要主动释放。 1、maven配置如下。 2、C3p0配置文件名字
阅读全文
摘要:https://blog.csdn.net/youanyyou/article/details/78990312
阅读全文
摘要:转自:http://www.cnblogs.com/dolphin0520/p/3920373.html volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java 5之后,volatile关键字
阅读全文
摘要:重排序数据依赖性 如果两个操作访问同一个变量,且这两个操作中有一个为写操作,此时这两个操作之间就存在数据依赖性。数据依赖分下列三种类型: 上面三种情况,只要重排序两个操作的执行顺序,程序的执行结果将会被改变。 前面提到过,编译器和处理器可能会对操作做重排序。编译器和处理器在重排序时,会遵守数据依赖性
阅读全文
摘要:Java Socket、SocketServer的读写、连接事件监听,都是阻塞式的。Java提供了另外一种非阻塞式读写、连接事件监听方式——NIO。本文简单的介绍一个NIO Socket入门例子,原理以及详细用法,参考后续文章 服务端代码 客户端代码
阅读全文
摘要:Java Socket底层采用TCP/IP协议通信,通信细节被封装,我们仅仅需要指定IP、端口,便能轻易地创建TCP或UDP连接,进行网络通信。数据的读写,可以使用我们熟悉的stream进行操作。 TCP通信中,服务端与客户端是一对多的关系,如下图 Client发起连接请求后,Server端响应并创
阅读全文
摘要:相对于SOCKET开发者,TCP创建过程和链接折除过程是由TCP/IP协议栈自动创建的.因此开发者并不需要控制这个过程.但是对于理解TCP底层运作机制,相当有帮助. 而且对于有网络协议工程师之类笔试,几乎是必考的内容.企业对这个问题热情之高,出乎我的意料:-)。有时上午面试前强调这个问题,并重复讲一
阅读全文
摘要:http://www.360doc.com/content/13/0308/01/1542811_270089429.shtml http://www.importnew.com/17759.html http://ifeve.com/overview/ http://blog.csdn.net/f
阅读全文
摘要:http://www.jianshu.com/p/ae5e1cee5b04 http://blog.csdn.net/zhaoming262350/article/details/44546419
阅读全文
摘要:http://blog.csdn.net/pzasdq/article/details/53128331 http://blog.csdn.net/truelove12358/article/details/54963791
阅读全文
摘要:1. 什么是λ表达式 λ表达式本质上是一个匿名方法。让我们来看下面这个例子: 转成λ表达式后是这个样子: 参数类型也可以省略,Java编译器会根据上下文推断出来: 或者 可见λ表达式有三部分组成:参数列表,箭头(->),以及一个表达式或语句块。 下面这个例子里的λ表达式没有参数,也没有返回值(相当于
阅读全文
摘要:一直以为使用new File(相对路径)可以读取class目录下的文件,其实不然。网上查询了一些资料,弄清楚了原理,总结如下:
阅读全文
摘要:实际开发过程中,我们常常需要等待一批线程都返回结果后,才能继续执行。《线程等待——CountDownLatch使用》中我们介绍了CountDownLatch的使用,通过使用CountDownLatch,可以实现线程等待。 JDK 1.8实现了一种更好的方式,实现线程等待与获取线程返回值,那就是Cal
阅读全文
摘要:用正则表达式进行字符串校验,截取十分方便,项目开发中灵活的使用正则表达式能让你的代码简洁优雅并且不易出错。在实际的应用中,掌握以下几点知识就可以应付绝大多数的开发场景了。 1、 字符串开始结束匹配:^$。 ^abc$完全匹配字符串abc。 2、 特定类型字符匹配:数字\d,数字字母下划线\w,空格\
阅读全文
摘要:背景 告警子系统监控4万个大网元所有端口的某些指标数据,根据阈值配置判断是否产生告警。采集——数据处理子系统每5分钟会主动采集24万次数据,发送24万条消息给告警子系统,这24万条消息涉及100万实体的数十个指标数据。告警子系统采用多节点部署方式分担压力,每个节点处理不同网元类型,不同实体,不同指标
阅读全文
摘要:告警系统架构如下 1、 数据处理系统处理完原始数据并入库后,发送消息到kafka系统; 2、 告警生产者从kafka系统查询消息存入告警消息队列; 3、 告警消费者从告警消息队列查询消息进行处理。 这显然是生产者消费者模型,一个告警消息生产者,多个告警消息消费者。生产者生产消息过快会产生消息积压,生
阅读全文
摘要:告警性能优化过程中,遇到如下问题:1、 在数据库计算几十万个实体的KPI值的方差;2、 计算结果进行表格化处理。 这里KPI包含多个Counter的数据库函数运算(比如Decode,AVG等函数),方差也是数据库函数运算,性能比较差。 步骤1中每个实体独立计算方差,步骤2需要方差结果协同处理,所以很
阅读全文
摘要:最近项目中进行告警模块性能优化,不少地方使用了线程池技术,整理总结如下。
阅读全文

浙公网安备 33010602011771号