自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

烂笔头-D的专栏

工作中总结一下,顺便记录一下。

  • 博客(32)
  • 资源 (22)
  • 收藏
  • 关注

原创 Nginx反向代理,负载均衡,Redis集群 Twemproxy,redis session共享,keepalived高可用-搭建千万级网站系统

使用的资源:nginx主服务器一台,nginx备服务器一台,使用keepalived进行宕机切换。tomcat服务器两台,由nginx进行反向代理和负载均衡,此处可搭建服务器集群。redis服务器一台,用于session的分离共享。nginx主服务器:192.168.50.133nginx备服务器:192.168.50.135tomcat项目服务器1:192.168.50.

2017-05-05 16:00:18 3091

原创 设计模式 - 策略模式(strategy)

策略模式需求,假设需要开发一个提现的功能,现在开放提现三个档位(1元,2元,3元)然后平台提现总额度是1000元,每个提现的档位分别是200元,300元,500元。1元提现 需要判断是新手才可以提现。2元提现,需要邀请好友才可以提现。3元提现,需要判断是老用户才可以提现。按照普通的方法来实现。平台总额是否到达限制-》 是否X元提现-...

2019-05-31 17:18:00 259

原创 CAS是什么?

首先第一个问题CAS是什么?CAS的Comple And Swap的缩写,简单翻译过来就是比较 并且 覆盖。在CAS机制中存在三个基本操作值,V内存值,A旧预期值,B预期值。举个例子如图:1、线程一进入内存值V为10,然后,老预期值A为10,预期值B为11,然后进行重新赋值V=11;2、B与A同时进入线程,所以同样获取老预期值B为10,(此时线程一已经操作完成,并且把主内存的值更新为11),然后进...

2018-05-09 17:34:31 7197

原创 CountDownLatch、CyclicBarrier和 Semaphore 使用方法和使用场景

CountDownLatch 计数器构造方法:public CountDownLatch(int count) {  };  //参数count为计数值方法:public void await() throws InterruptedException { };   //调用await()方法的线程会被挂起,它会等待直到count值为0才继续执行public boolean await(long ...

2018-05-07 17:22:27 611

原创 数据库四种隔离级别

数据库四种隔离级别 1、没锁的情况下,线程修改的数据可能会被并行的线程修改的数据覆盖掉。 2、改进让两个线程更改为串行,加入锁的概念,先称呼为X锁(在涉及写的情况,则加入X锁) 3、获取脏数据 解决这种情况,加入共享锁(Share Lock),先称呼S锁,S锁与X锁(排他锁)是有一定区别的,S锁主要用来读取数据,如果一个数据加了X锁,不允许获取S锁。一个数据被加了S锁,就无法被X锁。当然S锁...

2018-03-28 10:26:18 276

原创 java的图片处理

直接上效果图,现在有的需求就是把用户的头像,跟昵称嵌入到这个背景图中。第一步,把头像切成圆角,背景透明的图片。第二部,把第一步生成的图片,当成水印放到坐标的左边的红箭头的地方第三部,创建文字水印,然后放入到右边的红箭头地方。效果图如下:由于需要thumbnailator组件支持先导入maven    net.coobird    thumbnaila

2018-01-09 13:35:28 15483 1

原创 自己来写RPC框架-第二章

第二章环境l JDK 1.7+l Spring4.0+l Netty4.1+l ZooKeeper 3.4+l CuraotrFramework 2.7+ (简化ZooKeeper操作)l Jackson 2.6+l Hessian 4.0+ RPC框架需要考虑的几个问题l 程序的各个组件是怎么样加载到spring中,并且启动的?l 如何

2017-12-08 16:16:37 217

原创 自己来写RPC框架—第一章

第一章RPC概述RPC(Remote Procedure Call)——远程过程调用,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。例如有两台服务器分别部署了A,B两个服务,A要调用B服务的某个方法或者函数,由于两个服务不在同一个内存空间,所以不能直接调用,这样就必须通过网络的请求来达到调用的目的。那么我们在尝试自己写RPC框架时,需要

2017-12-08 16:15:44 288

原创 Dubbo底层采用Socket进行通信详解

由于Dubbo底层采用Socket进行通信,自己对通信理理论也不是很清楚,所以顺便把通信的知识也学习一下。n  通信理论计算机与外界的信息交换称为通信。基本的通信方法有并行通信和串行通信两种。1.一组信息(通常是字节)的各位数据被同时传送的通信方法称为并行通信。并行通信依靠并行I/O接口实现。并行通信速度快,但传输线根数多,只适用于近距离(相距数公尺)的通信。2.一组信息的各位数据

2017-10-09 19:58:21 1662

转载 ELK搭建互联网亿级日志实时分析平台

一,前言人们常常说数据如金,可是,能被利用起的数据,才是“金”。而互联网的数据,常常以日志的媒介的形式存在,并需要从中提取其中的"数据"。从这些数据中,我们可以做用户画像(每个用户都点了什么广告,对哪些开源技术感兴趣),安全审计,安全防护(如果1小时内登录请求数到达一定值就报警),业务数据统计(如开源中国每天的博客数是多少,可视化编辑格式和markdown格

2017-09-25 17:28:35 2147

转载 Spring bean 的生命周期

Spring bean 的生命周期Spring 是一个轻量级的 J2EE 开源框架,其目标是降低企业级应用开发难度,提高企业级应用开发效率。在日程开发中,我们会经常使用 Spring 框架去构建应用。所以作为一个经常使用的框架,了解其原理还是很有必要的。接下来我们就从宏观层面上,来看看 Spring 中的 bean 由实例化到销毁的过程。在详细讨论 bean 生命周期前,先上一张图,后

2017-09-22 10:27:23 252

原创 linux防火墙脚本,一键解决防火墙规则带来的痛苦。

脚本如下:#1.echo "1 ------------------------------------------------------------------------------------"service iptables start#2.echo "2 ------------------------------------------------------------

2017-09-19 13:53:18 2262

原创 spring+mvc get请求,post请求编码问题(utf-8)

最近写一个项目的时候,突然老司机居然被编码的问题给浪费了一个小时,记录一下避免以后的小伙伴也遇到。spring mvc里面处理get请求与post请求的编码方式有两种,第一种是post,设置为utf-8在web.xml中直接设置: Set Character Encoding org.springframework.web.filter.CharacterEncod

2017-09-19 13:22:42 1643

原创 Nginx+php+mysql+wordpress搭建自己的博客站点

Nginx+php+mysql+wordpress搭建自己的博客站点Centos+Nginx+php+mysql+wordpress搭建自己的博客站点服务器环境要求§ Centos 6.0 或以上版本(由于我们的目标是半小时内搭建好,那就选简单yum安装)§ MySQL 5.0或更新版本§ Nginx 1.0或更新版本§ PHP 5.

2017-09-08 10:39:26 13772

原创 dubbo调试-telnet篇

直接进入正题哈,很多可爱的码农在使用dubbo以后,不知道怎么调试线上的dubbo提供的service这里介绍一种方式telnet第一步telnet ip dubboportenter进入dubbols查看所有的dubbo service调用service方法 invoke调用对象传入参数用

2017-07-06 20:06:46 6891 1

原创 java知识J2EE必备技能

2017-06-14 15:30:22 431

原创 Java虚拟机基本结构

JVM结构1、Java虚拟机基本结构如下:  l 类加载子系统负责从文件系统或者网络中加载Class信息,加载的类信息存放在一块称为方法区的内存空间。除了类的信息外,方法区还是会存放运行时常量池信息,包含字符串字面量和数字变量。(这部分常量信息是Class文件中常量池部分的内存映射) l Java堆在虚拟机运行时候启动建立,它是Java程序最主要的工作内存。几乎所有的Jav

2017-05-22 14:23:56 354

原创 Java中抽象类与接口区别

Java中抽象类与接口区别1、首先我们来看一下抽象类与接口的定义l 接口Java接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)。换言之接口是动作的抽象,例如所有的人都可以沟通,可以使用手机,语言,电脑等......l 抽象类Java抽象类是使用了关键字abstr

2017-05-19 11:49:43 215

原创 redis集群方案-Twemproxy

redis集群方案-Twemproxy1 Twemproxy是什么?Twemproxy是一种代理分片机制,来源于Twitter开源。Twemproxy按照路由规则,转发给后台的各个Redis服务器,然后Redis返回结果给Twemproxy,该方案很好的解决了单点Redis数据承载能力的问题。一台机器的内存是有限的这样单台Redis存储的数据量也是有限的,数据量庞大的时候会导致查询数据变慢

2017-05-18 16:09:47 681

原创 Linux 下tomcat设置JVM参数

编辑 tomcat/bin 下catalina.sh在第一行加入JAVA_OPTS="-Xms36m -Xmx36m -Xss256K -XX:ParallelGCThreads=8 -XX:+UseConcMarkSweepGC -Xloggc:/var/tomcat_gc.log"JAVA_OPTS   所有的java都受影响CATALINA_OPTS="-Xm

2017-05-16 19:56:25 8775

转载 JVM系列三:JVM参数设置、分析

不管是YGC还是Full GC,GC过程中都会对导致程序运行中中断,正确的选择不同的GC策略,调整JVM、GC的参数,可以极大的减少由于GC工作,而导致的程序运行中断方面的问题,进而适当的提高Java程序的工作效率。但是调整GC是以个极为复杂的过程,由于各个程序具备不同的特点,如:web和GUI程序就有很大区别(Web可以适当的停顿,但GUI停顿是客户无法接受的),而且由于跑在各个机器上的配置不同

2017-05-16 16:46:58 279

原创 JAVA强引用、软应用、虚引用、弱引用

JAVA强引用、软应用、虚引用、弱引用java中提供了四个对象引用:强引用、软引用、弱引用、虚引用。除了强引用,其他的三种引用在java.lang.ref中都可以找到。1、强引用代码实例:Object ob=new Object();强引用有几个特性:l 强引用可以直接访问引用对象l 强引用在任何时候都不会被释放,虚拟机就算报OOM也不会释放对象l 强引用可能会引起

2017-05-10 14:30:34 421

原创 Centos下Nginx安装使用

Nginx反向代理 1.安装Nginx(安装机器IP地址为192.168.91.129) 1.1首先Nginx需要 gcc,pcre,zlib,openssl 第三方库支持 首先使用yum安装依赖的第三方库 yum install -y gcc yum install -y pcre pcre-devel yum install -y zlib zlib-devel yum insta

2017-05-09 14:15:42 340

转载 Redis在高并发下常见的错误场景-优惠券列表显示

一个月前——整个优惠券中心分为前端和后端,小灰所负责的是后端RPC接口的开发。接口中包含“查券”和“领券”两个方法,项目大体结构如下图:两周后——小灰:看,这是优惠券查询功能的效果! 小灰:看,这是优惠券领取功能的效果! 三天后——小灰原本的优惠券查询接口是这样实现的:优惠券列表在Redis中以Li

2017-05-05 15:56:47 3802

原创 Redis-数据类型分析

Redis是支持五种数据类型字符串首先字符串是一种字节序列。Redis中的字符串是二进制安全的,他们的长度不因为任何特殊的终止字符决定。可以在一个字符串中存储高达512兆字节的任何内容。示例redis 127.0.0.1:6379> set name "admin" OK redis 127.0.0.1:6379> get name "admin"散列/哈

2017-05-05 14:45:39 230

原创 浅谈gc-垃圾回收

垃圾回收(Garbage Collection 简称GC)垃圾回收几种常用的算法有l 引用计数法l 标记清除法l 复制算法l 标记压缩法引用计数法引用计数法实现非常简单,对于对象A,只要有任何对象引用了A,则A的引用计数器则加1,当引用失效时则减1。只要对象A的引用计数器达到0,则对象A是不能被使用的,在下次GC时,则被当做回收对象被回收。 引用计数

2017-05-04 14:54:08 338

原创 Java中String内存分配详解

l String对象初始化的方式如下:String a=”abc”;String a=new String(”abc”);第一种a=”abc”;首先在常量池中查找是否有值”abc”对象,如果没有则创建一个”abc”,并且把变量a的值指向常量池中的”abc”。从栈的角度上来解释当执行String a=”abc”;时,JAVA虚拟机会在栈中创建三个char型的值’a'、’b'和’c',

2017-05-04 11:41:12 1058

原创 JVM堆内存参数优化,让性能飞起来

JVM堆内存参数优化,让性能飞起来堆内存是Java进程的重要组成部分,几乎所有与应用相关的内存空间都和堆有关。现在主要介绍与堆内存相关的参数设置,这些参数对Java虚拟机中非常重要的,也是对程序性能有着重要的影响。让你彻底脱离OOM内存溢出等等带来的程序崩溃。1、 -Xms 初始堆内存大小,当Java进程启动时,虚拟机会分配一块初始堆空间,可以使用-Xms指定这块空间大小。在实际工作中,我

2017-05-02 13:43:30 2535

原创 jvm 内存结构图

jvm内存结构图。

2017-04-28 11:41:02 692

原创 分布式配置管理平台XXL-CONF

XXL-CONF 详细介绍背景(为什么需要使用xxl-conf)常规项目开发过程中, 通常会将配置信息位于在项目resource目录下的properties文件文件中, 配置信息通常包括有: jdbc地址配置、redis地址配置、活动开关、阈值配置、黑白名单……等等。使用properties维护配置信息将会导致以下几个问题:1、需要手动修改properties文件;2、需要重新

2017-04-26 11:37:10 3957

原创 redis实现session共享

1.首先安装redis2.将附件三个jar包拷贝到tomcat7的lib目录下(附件三个jar包的匹配非常重要) 3.修改tomcat的conf下的context.xml文件,添加或者修改下面的配置"com.radiadesign.catalina.session.RedisSessionHandlerValve" />  "com.radi

2016-06-02 11:45:11 575

原创 Centos 安装jdk

首先准备的工具是:jdk到官网下载,下载后缀为.gz的文件夹(文件我已经上传,直接下载)直接运行然后解压出的文件夹为在 /etc/profile 中加入以下内容: (文件最后面增加)JAVA_HOME=/usr/local/jdk1.8.0_45JAVA_BIN=/usr/local/jdk1.8.0_45/binPATH=$PATH:$

2015-11-04 16:16:01 292

springboot+mybatis 整合Demo下载

springboot+mybatis 整合Demo下载,直接下载导入就可以使用。例子已经写的非常完善。

2018-02-02

SpringMvc+Mybatis(后台管理系统,后台所需要的表单全部完整)

SpringMvc+Mybatis(后台管理系统,后台所需要的表单全部完整),左侧菜单,菜单管理拖拉js全部完整,数据库mysql直接导入即可使用,自己更改想要的功能即可,开放性。maven项目记得tomcat与eclipse全部用jdk1.7,其他可能会遇到报错。

2017-08-22

java可视化理解并发编程

java可视化理解并发编程,右边代码,左边swing界面演示,下载下来,直接java -jar concurrentRunner.jar 命令运行jar直接看到效果。

2017-08-15

Redis 代理

Twemproxy需要的依赖,加Redis安装包,tcl-8.5.7-6.el6.x86_64

2017-05-18

Twemproxy需要的依赖,加Redis安装包,tcl-8.5.7-6.el6.x86_64

Twemproxy需要的依赖,加Redis安装包,tcl-8.5.7-6.el6.x86_64

2017-05-18

dubbo-monitor 检测后台

dubbo-monitor 检测后台

2017-05-09

dubbo管理后台

dubbo2.5.4新版本管理后台

2017-05-09

nginx-1.8.1.tar.gz 下载

nginx安装包

2017-05-09

实战JAVA虚拟机 JVM故障诊断与性能优化.pdf

JVM非常详细的学习资料,易懂。这样面试被问到JVM也不会害怕了!

2017-05-05

android中viewpage的实例

android中viewpage的实例。左滑右滑

2015-04-02

安卓版大明商城客户端源代码

类似于淘宝的安卓客户端源代码,其中包换了支付功能,有支付宝,银行卡,非常完美,已经足够商用。

2014-11-12

Android拦截陌生人号码短信

Android拦截陌生人号码短信,使用BroadCast技术。

2014-06-06

斗地主JAVA版本

使用java编写的单机版本斗地主游戏,可以直接运行。

2014-06-05

乐学易教(SSH框架)

乐学易教系统,因为使用注解技术,数据库可以自动生成。使用SSH框架搭建,学生与教师的交互系统。

2014-06-05

android火车票助手

实现联网查询火车票的安卓版火车票助手,需要联网运行。

2014-06-05

安卓版绘生彩云笔记

里面安卓包含下拉刷新功能,包含数据库。也包含服务器端采用ssh框架搭建。 绘生彩云笔记旨在以云存储技术帮助用户建立一个可以轻松访问、安全存储的云笔记空间,有绘生彩云笔记可以解决个人资料和信息跨平台跨地点的管理问题。 绘生彩云笔记采用了增量式同步技术,即每次只同步修改的内容而不是整个笔记。“备份存储”技术将用户的数据在服务器上进行备份存储,这样即使更换移动设备也能有效保障用户数据的安全性和稳定性,该技术还便于未来系统存储规模的扩大和数据处理能力的提高。 绘生彩云笔记为用户提供了高达0.5G的初始免费存储空间。并且随着在线时间的增长,登陆账号所对应的储存空间也同步增长。

2014-06-05

安卓左右滑动切换界面

安卓左右滑动切换Activity,左右切换界面。

2014-06-05

安卓易聊及时聊天功能

安卓实现及时聊天功能。包含安卓客户端跟服务器端的代码。

2014-06-05

安卓版本高仿qq聊天系统

这个是一款高仿qq实现即时聊天系统,里面含有mysql数据库

2014-06-05

jsp手机进销存系统

jsp手机进销存系统,使用jsp开发的手机进销存管理系统.

2014-01-04

4s店管理系统

ssh框架开发的4s店管理系统,主要使用的ssh框架技术,4s店管理系统关于一些基本的功能。

2014-01-04

java 超市pos系统

这是一个使用java开发的一个pos系统.

2014-01-04

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除