- 博客(172)
- 资源 (2)
- 收藏
- 关注
转载 IDEA中比较骚的操作技巧
IDEA 有个很牛逼的功能,那就是后缀补全(不是自动补全),很多人竟然不知道这个操作,还在手动敲代码。这个功能可以使用代码补全来模板式地补全语句,如遍历循环语句(for、foreach)、使用 String.format() 包裹一个字符串、使用类型转化包裹一个表达式、根据判(非)空或者其它判别语句生成 if 语句、用 instanceOf 生成分支判断语句等。使用的方式也很简单,就是在一个表达式后按下点号 . ,然后输入一些提示或者在列表中选择一个候选项,常见的候选项下面会给出 GIF 演示。
2021-01-30 22:47:40
263
转载 Flink及Storm、Spark主流流框架比较-实时框架比较
实时计算框架对比 - flink,storm,spark 三者的区别我相信有不少的工程师都有着这样的处境,在学flink之前很好奇flink,storm,spark的区别是什么,为什么现在很多企业都在往flink方向转它的优势是什么,为什么不适用storm,为什么不适用spark,在下面的内容中我会为大家解答。希望可以帮助大家,也希望大家看了之后可以提出自己宝贵建议。有限数据集和无限数据集1.有限数据集:数据大小有限(固定大小,比如固定的文件),用于批处理,这一类数据主要用于mr,hive,p.
2021-01-30 17:03:54
3704
转载 上海市32岁PHP程序员兼技术专家兼管理者对12年职业生涯的9个生活感悟
背景如题,作者07年就开始上班了,所以12年职业生涯无需奇怪。从2009年就开始搞PHP直到现在,12年过去了,白驹过隙。状态有车、有房、有配偶、有二胎、有4个老人身体尚可,还有个弟弟未婚,月薪45K,对,你没看错,就是搞PHP的,45K。困扰喝醉时我会自我安慰:或许我已经达到了传说中的人生巅峰,知足常乐,惜福;但是醒来后还是心有不甘:32了,一事无成,没有自己的事业,更没有自己的企业,...
2019-10-11 10:06:28
209
转载 几张图轻松理解String.intern()
在翻《深入理解Java虚拟机》的书时,又看到了2-7的 String.intern()返回引用的测试。 其实要搞明白String.intern(),我总结了下面几条规则: 一、new String都是在堆上创建字符串对象。当调用 intern() 方法时,编译器会将字符串添加到常量池中(stringTable维护),并返回指向该常量的引用。 二、通过字面量赋值创建字符串(如:String str=...
2018-05-03 11:30:46
140
转载 字符编码笔记:ASCII,Unicode和UTF-8
今天中午,我突然想搞清楚Unicode和UTF-8之间的关系,于是就开始在网上查资料。结果,这个问题比我想象的复杂,从午饭后一直看到晚上9点,才算初步搞清楚。下面就是我的笔记,主要用来整理自己的思路。但是,我尽量试图写得通俗易懂,希望能对其他朋友有用。毕竟,字符编码是计算机技术的基石,想要熟练使用计算机,就必须懂得一点字符编码的知识。1. ASCII码我们知道,在计
2017-06-23 10:06:16
304
转载 Java内存、成员变量、局部变量
一 java内存分配 Java 中的数据类型分为 1. 基本类型(原始数据类型) byte short int long float double char boolean 基本类型的变量持有原始值。 2. 复合数据类型(引用类型),引用类型持有引用值(即对某个对象的引用,而非对象本身)。一般Java在内存分配时会涉及到以下区域: 1. 寄存器:我们在程序中无法控制
2017-06-07 14:21:56
522
转载 Java-使用IO流对大文件进行分割和分割后的合并
有的时候我们想要操作的文件很大,比如:我们想要上传一个大文件,但是受到上传文件大小的限制,无法上传,这时我们可以将一个大的文件分割成若干个小文件进行操作,然后再把小文件还原成源文件。分割后的每个小文件的类型可以自己定义。以下是我编写的一个大文件的分割和合并的代码:[java] view plain copypackage com.ly
2017-05-05 11:27:28
1482
转载 15个不起眼但非常强大的 Vim 命令
如果我的关于这个话题的最新帖子没有提醒到你的话,那我明确地说,我是一个 Vim 的粉丝。所以在你们中的某些人向我扔石头之前,我先向你们展示一系列“鲜为人知的 Vim 命令”。我的意思是,一些你可能以前没有碰到过的命令,但可能对你来说很有用。作为第二免责声明,我不知道哪些命令是你可能知道的,以及哪些是对你来说有用的。因此这些命令实际上是一些相对少见,但很可能很有用的 Vim 命令。保
2017-04-27 10:29:37
364
转载 Spring 事务失效
[问题] spring的声明式事务,我想就不用多介绍了吧,一句话“自从用了Spring AOP啊,事务管理真轻松啊,真轻松;事务管理代码没有了,脑不酸了,手不痛了,一口气全配上了事务;轻量级,测试起来也简单,嘿!”。不管从哪个角度看,轻量级声明式事务都是一件解放生产力的大好事。所以,我们“一直用它”。 不过,最近的一个项目里,却碰到了一个事务管理
2017-04-26 15:57:43
255
转载 图解正向代理、反向代理、透明代理
套用古龙武侠小说套路来说,代理服务技术是一门很古老的技术,是在互联网早期出现就使用的技术。一般实现代理技术的方式就是在服务器上安装代理服务软件,让其成为一个代理服务器,从而实现代理技术。常用的代理技术分为正向代理、反向代理和透明代理。本文就是针对这三种代理来讲解一些基本原理和具体的适用范围,便于大家更深入理解代理服务技术。一、正向代理(Forward Proxy) 一般情况下,如果
2017-04-10 16:29:20
420
转载 JAVA程序员面试总结,高手整整理加强版
第一阶段:三年我认为三年对于程序员来说是第一个门槛,这个阶段将会淘汰掉一批不适合写代码的人。这一阶段,我们走出校园,迈入社会,成为一名程序员,正式从书本 上的内容迈向真正的企业级开发。我们知道如何团队协作、如何使用项目管理工具、项目版本如何控制、我们写的代码如何测试如何在线上运行等等,积累了一定的 开发经验,也对代码有了一定深入的认识,是一个比较纯粹的Coder的阶段。第二阶段:五
2017-02-21 10:04:55
1516
转载 互联网常用网络协议
网络协议7层应用层中就是开发中比较常见的协议。HTTP协议单向,服务器不能主动发信息,也就衍生了comet等技术,来模拟服务器push。对于即时通讯比较常用的协议xmpp,socket通信比较独立可实现双向通信,也就是即时通讯软件早起大多使用socket的原因。
2017-02-06 14:17:14
1260
转载 浅谈web缓存
在前端开发中,性能一直都是被大家所重视的一点,然而判断一个网站的性能最直观的就是看网页打开的速度。其中提高网页反应速度的一个方式就是使用缓存。一个优秀的缓存策略可以缩短网页请求资源的距离,减少延迟,并且由于缓存文件可以重复利用,还可以减少带宽,降低网络负荷。那么下面我们就来看看服务器端缓存的原理。 缓存分类web缓存分为很多种,比如数据库缓存、代理服务器缓存、还
2016-12-29 14:52:39
334
转载 ThreadPoolExecutor机制
一、概述 1、ThreadPoolExecutor作为java.util.concurrent包对外提供基础实现,以内部线程池的形式对外提供管理任务执行,线程调度,线程池管理等等服务; 2、Executors方法提供的线程服务,都是通过参数设置来实现不同的线程池机制。 3、先来了解其线程池管理的机制,有助于正确使用,避免错误使用导致严重故障。同时可以根据自己的需求实现自己的线程池
2016-12-29 10:31:27
356
转载 mysql乐观锁总结和实践
上一篇文章《MySQL悲观锁总结和实践》谈到了MySQL悲观锁,但是悲观锁并不是适用于任何场景,它也有它存在的一些不足,因为悲观锁大多数情况下依靠数据库的锁机制实现,以保证操作最大程度的独占性。如果加锁的时间过长,其他用户长时间无法访问,影响了程序的并发访问性,同时这样对数据库性能开销影响也很大,特别是对长事务而言,这样的开销往往无法承受。所以与悲观锁相对的,我们有了乐观锁,具体参见下面介绍:
2016-10-27 11:10:31
272
转载 mysql悲观锁总结和实践
最近学习了一下数据库的悲观锁和乐观锁,根据自己的理解和网上参考资料总结如下: 悲观锁介绍(百科):悲观锁,正如其名,它指的是对数据被外界(包括本系统当前的其他事务,以及来自外部系统的事务处理)修改持保守态度,因此,在整个数据处理过程中,将数据处于锁定状态。悲观锁的实现,往往依靠数据库提供的锁机制(也只有数据库层提供的锁机制才能真正保证数据访问的排他性,否则,即使在本系统中实现了加锁机制
2016-10-27 11:08:53
222
转载 mysql死锁问题分析
线上某服务时不时报出如下异常(大约一天二十多次):“Deadlock found when trying to get lock;”。 Oh, My God! 是死锁问题。尽管报错不多,对性能目前看来也无太大影响,但还是需要解决,保不齐哪天成为性能瓶颈。 为了更系统的分析问题,本文将从死锁检测、索引隔离级别与锁的关系、死锁成因、问题定位这五个方面来展开讨论。
2016-10-21 17:20:01
293
原创 MySQL 百万级分页优化
以下分享一点我的经验 一般刚开始学SQL的时候,会这样写 复制代码代码如下:SELECT * FROM table ORDER BY id LIMIT 1000, 10; 但在数据达到百万级的时候,这样写会慢死 复制代码代码如下:SELECT * FROM table ORDER BY id LIMIT 1000000, 10;
2016-10-21 14:55:42
298
转载 Solr开发文档
Solr 是一种可供企业使用的、基于 Lucene 的搜索服务器,它支持层面搜索、命中醒目显示和多种输出格式。在这篇文章中,将介绍 Solr 并展示如何轻松地将其表现优异的全文本搜索功能加入到 Web 应用程序中。开发环境:System:WindowsWebBrowser:IE6+、Firefox3+JDK:1.6+JavaEE Server:tomcat5
2016-10-10 10:16:07
434
原创 Mysql 会导致锁表的语法
最近再找一些Mysql锁表原因,整理出来一部分sql语句会锁表的,方便查阅,整理的不是很全,都是工作中碰到的,会持续更新笔者能力有限,如果有不正确的,或者不到位的地方,还请大家指出来,方便你我,方便大家。此测试环境Mysql 5.5 基于innodb 引擎[sql] view plaincopyinse
2016-09-21 13:42:32
705
转载 maven 亲测可用国内镜像 阿里云
maven阿里云中央仓库maven作为一个项目管理工具确实非常好用,但是在国内这个网络条件下实在是让人恼火。之前oschina的中央仓库可用,现在oschina的maven服务器关了,一直没找到国内镜像来替代。今天发现阿里云公开了一个中央仓库,大家可以试试。配置修改maven根目录下的conf文件夹中的setting.xml文件,内容如下:
2016-09-13 11:46:42
635
转载 Linux下安装RabbitMQ
1. 安装erlang:下载所需的源码:wget http://erlang.org/download/otp_src_R13B04.tar.gz wget http://erlang.org/download/otp_src_R13B04.tar.gz然后./configure && make && make install注:在configure之后
2016-09-13 10:14:44
322
转载 Redis在win7上的可视化应用
Redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排
2016-09-08 13:42:48
403
转载 RabbitMQ (五)主题(Topic)
上一篇博客中,我们进步改良了我们的日志系统。我们使用direct类型转发器,使得接收者有能力进行选择性的接收日志,,而非fanout那样,只能够无脑的转发,如果你还不了解:RabbitMQ (四) 路由选择 (Routing)。虽然使用direct类型改良了我们的系统,但是仍然存在一些局限性:它不能够基于多重条件进行路由选择。在我们的日志系统中,我们有可能希望不仅根据日志的级别而且想根
2016-09-08 13:33:20
275
转载 RabbitMQ (四) 路由选择 (Routing)
上一篇博客我们建立了一个简单的日志系统,我们能够广播日志消息给所有你的接收者,如果你不了解,请查看:RabbitMQ (三) 发布/订阅。本篇博客我们准备给日志系统添加新的特性,让日志接收者能够订阅部分消息。例如,我们可以仅仅将致命的错误写入日志文件,然而仍然在控制面板上打印出所有的其他类型的日志消息。1、绑定(Bindings)在上一篇博客中我们已经使用过绑定。类似下面的
2016-09-08 13:32:38
670
转载 RabbitMQ (三) 发布/订阅
本系列教程主要来自于官网入门教程的翻译,然后自己进行了部分的修改与实验,内容仅供参考。 上一篇博客中,我们实现了工作队列,并且我们的工作队列中的一个任务只会发给一个工作者,除非某个工作者未完成任务意外被杀死,会转发给另外的工作者,如果你还不了解:RabbitMQ (二)工作队列。这篇博客中,我们会做一些改变,就是把一个消息发给多个消费者,这种模式称之为发布/订阅(类似观察者模式)。
2016-09-08 13:31:50
264
转载 RabbitMQ (二)工作队列
本系列教程主要来自于官网入门教程的翻译,然后自己进行了部分的修改与实验,内容仅供参考。上一篇博客中我们写了通过一个命名的队列发送和接收消息,如果你还不了解请点击:RabbitMQ 入门 Helloworld。这篇中我们将会创建一个工作队列用来在工作者(consumer)间分发耗时任务。工作队列的主要任务是:避免立刻执行资源密集型任务,然后必须等待其完成。相反地,我们进行任务调度:我
2016-09-08 11:51:55
259
转载 RabbitMQ 入门 Helloworld
本系列教程主要来自于官网入门教程的翻译,然后自己进行了部分的修改与实验,内容仅供参考。“Hello world” of RabbitMQ1、Windows下RabbitMQ的安装下载Erlang,地址:http://www.erlang.org/download/otp_win32_R15B.exe ,双击安装即可(首先装)下载RabbitMQ,地址:http:
2016-09-08 11:43:26
273
转载 Rabbitmq的Web监控工具
一、文档资料 1、官方网站:http://www.rabbitmq.com/ 2、安装教程:http://www.rabbitmq.com/install-windows.html 二、安装指南 1、下载并按照OTP(必须在安装RabbitMQ Server前安装):http://www.erlang.org/downl
2016-09-08 11:41:56
1156
1
转载 RabbitMQ各种交换机类型Exchange Types介绍
最新版本的RabbitMQ有四种交换机类型,分别是Direct exchange、Fanout exchange、Topic exchange、Headers exchange。Direct Exchange – 处理路由键。需要将一个队列绑定到交换机上,要求该消息与一个特定的路由键完全匹配。这是一个完整的匹配。如果一个队列绑定到该交换机上要求路由键 “dog”,则只有被标
2016-09-08 11:38:46
428
转载 消息队列中点对点与发布订阅区别
背景知识JMS一个在 Java标准化组织(JCP)内开发的标准(代号JSR 914)。2001年6月25日,Java消息服务发布JMS 1.0.2b,2002年3月18日Java消息服务发布 1.1. Java消息服务(Java Message Service,JMS)应用程序接口是一个Java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息,
2016-09-05 10:31:27
339
转载 INSERT INTO .. ON DUPLICATE KEY更新多行记录
如果在INSERT语句末尾指定了ON DUPLICATE KEY UPDATE,并且插入行后会导致在一个UNIQUE索引或PRIMARY KEY中出现重复值,则执行旧行UPDATE;如果不会导致唯一值列重复的问题,则插入新行。例如,如果列a被定义为UNIQUE,并且包含值1,则以下 两个语句具有相同的效果:1234INSERT INTO TABLE (a
2016-09-02 11:09:56
538
转载 MySQL "replace into" 的坑
MySQL 对 SQL 有很多扩展,有些用起来很方便,但有一些被误用之后会有性能问题,还会有一些意料之外的副作用,比如 REPLACE INTO。比如有这样一张表:12345678CREATE TABLE `auto` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `k` i
2016-09-01 14:20:38
335
转载 MySQL:讨人喜欢的 MySQL replace into 用法(insert into 的增强版)
讨人喜欢的 MySQL replace into 用法(insert into 的增强版)在向表中插入数据的时候,经常遇到这样的情况:1. 首先判断数据是否存在; 2. 如果不存在,则插入;3.如果存在,则更新。在 SQL Server 中可以这样处理: if not exists (select 1 from t where id = 1) insert in
2016-09-01 14:19:08
406
转载 HTTP协议之状态码详解
HTTP状态码,我都是现查现用。 我以前记得几个常用的状态码,比如200,302,304,404, 503。 一般来说我也只需要了解这些常用的状态码就可以了。 如果是做AJAX,REST,网络爬虫,机器人等程序。还是需要了解其他状态码。 本文我花了一个多月的时间把所有的状态码都总结了下,内容太多,看的时候麻烦耐心点了。 HTTP状态码的学习资料到处都有,但是都是理论上讲解。 本文介
2016-08-31 14:45:30
354
转载 UML建模之时序图
一、时序图简介(Brief introduction) 二、时序图元素(Sequence Diagram Elements)角色(Actor)对象(Object)生命线(Lifeline)控制焦点(Focus of Control)消息(Message)自关联消息(Self-Message)Combined Fragments 三、时序
2016-08-29 14:44:12
587
转载 浅谈web应用的负载均衡、集群、高可用(HA)解决方案
声明:以下仅为个人的一些总结和随写,如有不对之处,还请看到的网友指出,以免误导。 (详细的配置方案请google,这里只说解决方案。) 1、熟悉几个组件1.1、apache —— 它是Apache软件基金会的一个开放源代码的跨平台的网页服务器,属于老牌的web服务器了,支持基于Ip或者域名的虚拟主机,支持代理服务器,支持安全Socket层(SSL)等等,目前互联
2016-08-23 23:59:35
395
转载 深入理解 Session 与 Cookie
Session 与 Cookie 不管是对 Java Web 的初学者还是熟练使用者来说都是一个令人头疼的问题。在初入职场时恐怕很多程序员在面试的时候都被问到过这个问题。其实这个问题回答起来既简单又复杂,简单是因为它们本身只是 HTTP 协议中的一个配置项,在 Servlet 规范中也只是对应到一个类而已;说它复杂原因在于当我们的系统大到需要用到很多 Cookie 的时候,我们不得不考虑 HT
2016-08-23 23:58:55
465
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人