- 博客(77)
- 资源 (1)
- 收藏
- 关注
简单轻量级的RPC框架—HRPC
HRPCHRPC is a light-weight high performance RPC framework base on Netty and Zookeeper.github地址:https://github.com/wosyingjun/HRPCFeaturesSerialize by protostuffHigh performance, load b...
2016-09-01 12:19:45
1056
Dubbox的介绍和简单示例
Dubbo是一个来自阿里巴巴的开源分布式服务框架,当当根据自身的需求,为Dubbo实现了一些新的功能,包括REST风格远程调用、Kryo/FST序列化等等。并将其命名为Dubbox(即Dubbo Extensions)Demo地址:https://github.com/wosyingjun/DubboxDemo 类似范例: http://wosyingjun.iteye.com/bl...
2016-08-25 11:00:28
353
Leek——韭菜的自我救赎
Leek——韭菜的自我救赎Leek是一款基于分布式的简易版智能实时选股系统,计算能力超强,代码量极少。相关项目:项目地址:Leek——简易版实时智能选股平台目前实现了3种简单的策略(欢迎大家pull request更多策略): 策略1:大单卖,选出股票的卖5档总手数大于买5档口总手数100倍时的股票;策略2:大单买,选出股票的买5档总手数大于卖5档口总手数100倍时的股票;...
2016-08-15 09:01:50
391
JStorm2.1.1集群的安装和使用
JStorm2.1.1集群的安装和使用Storm是一个免费开源、分布式、高容错的实时计算系统,而JStorm是阿里巴巴开源的基于Storm采用Java重写的一套分布式实时流计算框架,在性能和支持的集群规模上做了较大优化。官方地址:https://github.com/alibaba/jstorm相关文章:Storm深入理解相关项目:Leek——简易版实时智能选股平台JSto...
2016-08-12 09:39:21
385
Storm深入理解
Storm深入理解Storm是一个免费开源、分布式、高容错的实时计算系统。相关示例项目:Leek——简易版实时智能选股平台一、Storm集群架构Nimbus :Storm集群的Master节点,负责分发用户代码,指派给具体的Supervisor节点上的Worker节点,去运行Topology对应的组件(Spout/Bolt)的Task。Supervi...
2016-08-11 08:36:09
387
Kafka集群的部署与测试
KafKa集群的部署与测试kafka是一款分布式消息发布和订阅的系统,相比ActiveMQ具有高性能和高吞吐率。官方网站: http://kafka.apache.org/documentation.html#quickstart相关项目:相关示例项目:Leek——简易版实时智能选股平台一、kafka原理图二、kafka的安装(安装kafka前需要先安装JDK环...
2016-08-10 08:37:07
409
Flume(日志收集系统)的部署与测试
Flume的部署与测试Flume是一个分布式、高可靠、高可用的日志收集系统。能够有效的收集、聚合、移动大量的日志。把各种类型的数据源采集汇总到各种类型的目的地,flume有一个口号:“我们不生产数据,我们是数据的搬运工。官网文档: http://flume.apache.org/FlumeUserGuide.html相关项目:相关示例项目:Leek——简易版实时智能选股平台...
2016-08-05 15:09:33
246
ActiveMQ高可用集群方案
ActiveMQ高可用集群方案在高并发、对稳定性要求极高的系统中,高可用的是必不可少的,当然ActiveMQ也有自己的集群方案。从ActiveMQ 5.9开始,ActiveMQ的集群实现方式取消了传统的Master-Slave方式,增加了基于ZooKeeper + LevelDB 的 Master-Slave 实现方式。相关文章:范例项目: http://wosyingjun.i...
2016-08-01 08:57:18
513
ActiveMQ的简单使用
ActiveMQ的简单使用ActiveMQ是一种开源的,实现了JMS规范的,面向消息(MOM)的中间件,为应用程序提供高效的、可扩展的、稳定的和安全的企业级消息通信。相关文章:范例项目: http://wosyingjun.iteye.com/blog/2312553 ActiveMQ集群高可用方案:http://wosyingjun.iteye.com/blog/231468...
2016-08-01 08:51:19
489
集群高可用架构整理(不断更新)
集群高可用架构整理(不断更新中)在大型系统或是对稳定性要求较高的项目中,集群高可用架构是必不可少的,这里整理一些平时用到过的集群/高可用技术,不断更新中。。。二种最基本的集群模型:M-S 型集群: M-S 型的集群一般用于高可用架构,主节点挂掉时从节点顶上,一般不具有分流(负载均衡)的作用。M-M 型集群: M-M 型的集群一般用于分流(负载均衡),部分 M-M 型...
2016-07-29 15:26:43
564
基于keepalived的nginx高可用集群方案
基于keepalived的nginx高可用方案Keepalived 是一种高性能的服务器高可用或热备解决方案,可以用来防止服务器单点故 障的发生,通过配Nginx可以实现web前端服务的高可用。注:貌似阿里云的ECS服务器没法用keepalived(无法获取到VIP),遇到这种情况的建议还是用阿里云的SLB吧,简单省心。相关文章:范例项目: http://wosying...
2016-07-24 14:31:25
571
ZooKeeper高可用集群的安装及配置
ZooKeeper高可用集群的安装及配置Zookeeper作为很多服务的注册协调中心(dubbo,jstom等),因此高可用集群方案也是必不可少的,Zookeeper集群时要注意将ZK集群的节点数量要为奇数(2n+1:如 3、5、7 个节点)较为合适。范例项目: http://wosyingjun.iteye.com/blog/2312553 1、下载并上传zookee...
2016-07-22 16:38:39
268
推荐几个自己写的Java后端相关的范例项目
推荐几个自己写的范例项目这里推荐几个自己写的范例项目,主要采用SSM(Spring+SpringMVC+Mybatis)框架,分布式架构采用的是(dubbo+zookeeper)。范例项目的好处是简单易懂,在架构一个新的项目的时候可以直接当成脚手架来用,方便快速开发,另外项目中涉及到以及未来可能涉及到的知识点都会不断完善。三个项目是互相发展而来的,依次为(不断完善中):一、...
2016-07-21 09:04:13
2935
使用Druid作为数据源
Druid号称是Java语言中最好的数据库连接池。1) 可以监控数据库访问性能,Druid内置提供了一个功能强大的StatFilter插件,能够详细统计SQL的执行性能,这对于线上分析数据库访问性能有帮助。 2) 替换DBCP和C3P0。Druid提供了一个高效、功能强大、可扩展性好的数据库连接池。3) 数据库密码加密。直接把数据库密码写在配置文件中,这是不好的行为,容易导致安...
2016-06-20 16:05:50
570
java线程基础
线程从创建到最终的消亡,要经历若干个状态。一般来说,线程包括以下这几个状态:创建(new)、就绪(runnable)、运行(running)、阻塞(blocked)、time waiting(睡眠或等待一定的事件)、waiting(等待被唤醒)、消亡(dead)。由于突然中断或者子任务执行完毕,线程就会被消亡。 要实现一个线程,我们一般通过Thread类实现,在Thread类中,有一些...
2016-06-14 16:04:33
115
Netty学习:搭建一个简单的Netty服务
Netty学习:搭建一个简单的Netty服务Netty 是一个基于 JAVA NIO 类库的异步通信框架,它的架构特点是:异步非阻塞、基于事件驱动、高性能、高可靠性和高可定制性。换句话说,Netty是一个NIO框架,使用它可以简单快速地开发网络应用程序,比如客户端和服务端的协议。Netty大大简化了网络程序的开发过程比如TCP和UDP的 Socket的开发。Netty 已逐渐成为 ...
2016-06-06 13:50:59
634
java线程常见面试题
1、什么是线程?线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位。程序员可以通过它进行多处理器编程,你可以使用多线程对运算密集型任务提速。比如,如果一个线程完成一个任务要100毫秒,那么用十个线程完成改任务只需10毫秒。Java在语言层面对多线程提供了卓越的支持,它也是一个很好的卖点。2、线程和进程有什么区别?线程是进程的子集,一个进程可以...
2016-06-02 13:05:01
152
Java并发编程之CountDownLatch、CyclicBarrier和Semaphore
java的concurrent包为我们提供了一些非常有用的辅助类来帮助我们进行并发编程,比如CountDownLatch,CyclicBarrier和Semaphore,今天就来介绍下这三个辅助类并进行对比: CountDownLatch的介绍和使用可见我之前的博客:http://wosyingjun.iteye.com/blog/2223933 CyclicBarrier...
2016-05-22 20:39:27
454
Semaphore的介绍和使用
一个计数信号量。从概念上讲,信号量维护了一个许可集。如有必要,在许可可用前会阻塞每一个 acquire(),然后再获取该许可。每个 release() 添加一个许可,从而可能释放一个正在阻塞的获取者。但是,不使用实际的许可对象,Semaphore 只对可用许可的号码进行计数,并采取相应的行动。拿到信号量的线程可以进入代码,否则就等待。通过acquire()和release()获取和释放访问许可...
2016-05-22 20:24:00
520
原创 CyclicBarrier介绍和使用
CyclicBarrier是一个同步辅助类,它允许一组线程互相等待,直到到达某个公共屏障点 (common barrier point)。在涉及一组固定大小的线程的程序中,这些线程必须不时地互相等待,此时 CyclicBarrier 很有用。因为该 barrier 在释放等待线程后可以重用,所以称它为循环 的 barrier。 CyclicBarrier类位于java.util.con...
2016-05-22 20:10:49
221
一款好用的markdown编辑器
Markdown 是一种轻量级的「标记语言」,它的优点很多,目前也被越来越多的写作爱好者,撰稿者广泛使用。看到这里请不要被「标记」、「语言」所迷惑,Markdown 的语法十分简单。常用的标记符号也不超过十个,这种相对于更为复杂的HTML 标记语言来说,Markdown 可谓是十分轻量的,学习成本也不需要太多,且一旦熟悉这种语法规则,会有一劳永逸的效果。那么好的「标记语言」也需要一款好的编...
2016-05-17 09:14:22
139
linux服务器下查看系统配置常见命令
纪录一些linux服务器下查看系统配置的常用命令,系统主要采用CentOS,方便下次查找。修改用户分组以及文件权限:chown -R user:user apache-tomcat-admin/chown -R user apache-tomcat-admin/chmod -R 777 apache-tomcat-admin/修改服务器防火墙[root@test ~]# vim ...
2016-04-29 10:04:49
213
Nginx的基本配置与优化
Nginx的基本配置与优化Nginx的配置文件默认在Nginx程序安装目录的conf二级目录下面,主配置文件为nginx.conf,对nginx还不是很了解的可以看下我之前对Nginx介绍:http://wosyingjun.iteye.com/blog/2252941Nginx 的配置组成:....events{....}http{.... se...
2016-04-28 10:43:14
105
java单例模式的正确写法
一、懒汉式(线程不安全) public class Singleton { private static Singleton instance; private Singleton (){} public static Singleton getInstance() { if (instance == null) { i...
2016-04-21 15:08:17
243
CentOS下实现一个tomcat项目部署
CentOS下实现一个tomcat项目的部署,也是最基本的项目部署范例:1、创建用户并设定密码[root@test ~]# useradd tgame[root@test ~]# passwd tgameChanging password for user tgame.New password: Retype new password: passwd: all authenticatio...
2016-04-18 16:38:14
179
Redis Sentinel主从高可用方案(附Jedis Sentinel教程)
Redis Sentinel主从高可用方案(附Jedis Sentinel教程)本文介绍一种通过Jed和Sentinel实现Redis集群(主从)的高可用方案,该方案需要使用Jedis2.2.2及以上版本(强制),Redis2.8及以上版本(可选,Sentinel最早出现在Redis2.4中,Redis2.8中Sentinel更加稳定),附:Redis Cluster集群主...
2016-04-08 18:03:23
335
Redis Cluster集群主从方案(附Jedis Cluster教程)
Redis Cluster集群主从方案(附Jedis Cluster教程)本文介绍一种通过Jedis和Cluster实现Redis集群(主从)的高可用方案,该方案需要使用Jedis2.8.0(推荐),Redis3.0及以上版本(强制).附:Redis Cluster集群主从方案:http://wosyingjun.iteye.com/blog/2289220Redis Se...
2016-04-07 11:35:09
838
在Eclipse中开发lua代码
在Eclipse中开发lua代码LuaEclipse 是 Eclipse 用来开发 Lua 程序的插件,功能比较完备,它可以实现编Lua脚本代码、语法高亮、编译错误提示,代码和注释的折叠、调试等。LuaEclipse:http://luaforge.net/projects/luaeclipse/一、LuaEclipse插件安装下载LuaEclipse的离线安装包,下...
2016-03-04 11:33:01
1293
Lua语言介绍
Lua语言介绍2015/9/10 14:09:11Lua 不仅是易于扩展的语言,同时也是一种易整合的语言( Glue Language), Lua 支持基于组件的软件开发,在这种开发模式下,仅通过将高级组件整合在一起就能实现一个应用程序。一般情况下,组件由 C 或 C++之类的编译型静态语言编写,而 Lua 就类似于将各个组建联系起来的粘合剂。与其他整合技术不同的是, Lua ...
2016-03-04 10:51:19
373
Android中软键盘弹出时底部布局上移问题
最近做聊天界面时,点击底部的EditTextView时弹出的键盘框把EditTextView给挡住了,显然不符合预期。查询资料发现了有如下三种解决方案:方法一:在项目的AndroidManifest.xml文件中界面对应的里加入android:windowSoftInputMode="adjustPan"这样键盘就会覆盖屏幕。通过实践发现方法一并没有起作用,查询资料得知我的布局是R...
2016-01-19 11:03:41
1298
手把手教你认识并搭建Nginx
手把手教你认识并搭建NginxNginx (“engine x”) 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,它已经在该站点运行超过两年半了。 Igor 将源代码以类 BSD 许可证的形式发布。尽管还是测试版,但是,Nginx...
2015-10-29 13:40:05
263
手把手Maven搭建SpringMVC+Spring+MyBatis框架(超级详细版)
手把手Maven搭建SpringMVC+Spring+MyBatis框架(超级详细版)SSM(Spring+SpringMVC+Mybatis),目前较为主流的企业级架构方案。标准的MVC设计模式,将整个系统划分为显示层、Controller层、Service层、Dao层四层,使用SpringMVC负责请求的转发和视图管理,Spring实现业务对象管理, MyBatis作为数据对象持久...
2015-10-17 11:38:38
4876
采用HttpClient发送HTTP请求
采用HttpClient发送HTTP请求2015/9/10 14:09:11HTTP 协议可能是现在 Internet 上使用得最多、最重要的协议了,越来越多的 Java 应用程序需要直接通过 HTTP 协议来访问网络资源。虽然在JDK的URLConnection包中已经提供了访问 HTTP 协议的基本功能,但是对于大部分应用程序来说,JDK库本身提供的功能还不够丰富和灵活。H...
2015-09-10 14:57:34
336
原创 Android快速开发框架介绍
目前android用的比较多的整体框架有Afinal、ThinkAndroid、Andbase、XUtils。大体的思路都差不多,取2个简单介绍下。 1. Afinal 简介:Afinal是一个android的ORM和IOC框架,相对比较简单,主要包含四大框架FinalActivity、FinalDB、FinalHttp、FinalBitmap。 ...
2015-09-09 08:47:42
154
图片异步加载(带进度条)+二级缓存+图片手势缩放+ViewPaper+设置壁纸
功能:实现图片的加载(带进度条)、缓存、手势缩放、ViewPaper展示、设置壁纸等常用功能 效果图: 主要实现: 图片加载框架: Android-Universal-Image-Loader Android-Universal-Image-Loader是一个开源的UI组件程序,该项目的目的是提供一个可重复使用的仪器为异步图像加载,缓存和显示。...
2015-09-08 13:38:19
219
原创 仿余额宝动态数字显示收益
功能:仿余额宝动态数字显示收益 效果图: 主要实现代码:package com.example.zzatest; import android.app.Activity;import android.os.Bundle;import android.view.View;import android.view.Window;import andr...
2015-09-08 13:30:32
493
带指示点Viewpaper图片轮播
功能:带指示点Viewpaper图片轮播(无限轮播)效果图: 主要实现代码: package com.eyeandroid.viewpager; import java.util.ArrayList;import java.util.List;import java.util.concurrent.atomic.AtomicInteger; i...
2015-09-08 13:25:39
185
原创 Android版本更新(Service下载 Notification进度条)
功能:版本更新、文件后台下载以及Notification显示进度条。效果图:主要代码:package com.ljp.download; import java.io.File; import android.app.ActivityGroup;import android.app.AlertDialog;import android.app.Dialog;...
2015-09-08 13:14:49
359
Activity四种启动模式(android:launchMode)
一、启动模式介绍 启动模式简单地说就是Activity启动时的策略,在AndroidManifest.xml中的标签的android:launchMode属性设置; 启动模式有4种,分别为standard、singleTop、singleTask、singleInstance;讲解启动模式之前,有必要先讲解一下“任务栈”的概念; 每个应用都有一个任务栈,是用来存...
2015-09-08 12:59:43
166
CountDownLatch的介绍和使用
CountDownLatch,一个同步辅助类,以计数的方式在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待。 CountDownLatch类只提供了一个构造器:public CountDownLatch(int count) { }; //参数count为计数值 下面这3个方法是CountDownLatch类中最重要的方法:public void...
2015-07-03 09:16:42
129
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人