- 博客(124)
- 资源 (9)
- 收藏
- 关注
原创 Redis安装及启动停止
安装1.获取redis资源:http://download.redis.io/releases/redis-4.0.8.tar.gz2.解压:tar -xzvf redis-4.0.8.tar.gz3.安装(1)cd redis-4.0.8(2)make(3)cd src(4)make install PREFIX=/usr/local/redis在make install之前先运行make test测试是否可以安装[root@localhost src]# make t
2020-09-08 11:03:33
214
原创 微服务架构-雪崩效应
微服务化产品线,每一个服务专心于自己的业务逻辑,并对外提供相应的接口,看上去似乎很明了,其实还有很多的东西需要考虑,比如:服务的自动扩充,熔断和限流等,随着业务的扩展,服务的数量也会随之增多,逻辑会更加复杂,一个服务的某个逻辑需要依赖多个其他服务才能完成。一但一个依赖不能提供服务很可能会产生雪崩效应,最后导致整个服务不可访问。微服务之间进行rpc或者http调用时,我们一般都会设置调用超时,失败重试等机制来确保服务的成功执行,看上去很美,如果不考虑服务的熔断和限流,就是雪崩的源头。假设我们有两个访问量比
2020-08-29 14:21:13
238
原创 nacos介绍
什么是nacosNacos 支持基于 DNS 和基于 RPC 的服务发现(可以作为springcloud的注册中心)、动态配置服务(可以做配置中心)、动态 DNS 服务。官方介绍是这样的:Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您实现动态服务发现、服务配置管理、服务及流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。 Nacos 是构建以“服务”为中心的现代应用架构(例如微服务范式、云原生范式)的服务基础设施。官方网址
2020-08-25 10:39:52
699
转载 GitBlit的使用教程
GitBlit的使用教程本文是基于Win 10系统环境,测试和使用GitBlit:Win 10 GitBlit一、如何使用GitBlit(1)登入已经部署好的GitBlit服务器在网址输入框输入GitBlit服务器的地址,如图中的1,然后在2处登入用户名和密码(2)创建一个新的版本库点击图中1处的“版本库”,然后点击图中2处的“创建版本库” 填写名称和描述,注意名称最后一定要加 .git 选择限制查看、克隆和推送 勾选“加入README”和“加入.gitignore文件”
2020-08-19 09:44:01
4975
1
原创 Linux安装oracle之db_install.rsp详解
附录A:db_install.rsp详解###################################################################### Copyright(c) Oracle Corporation1998,2008. All rights reserved.#### Specify values for the va...
2020-01-13 20:47:02
1964
原创 Linux安装MySQL5.6版本
一、卸载老版本MySQLfind / -name mysql 查找到的路径,rm -rf 多个路径用空格隔开或者下边一条命令即可 find / -name mysql|xargs rm -rf二、在安装包存放目录下执行命令解压文件tar -zxvf mysql-5.6.42-linux-glibc2.12-x86_64.tar.gz三、重命名解压后的文件...
2018-10-25 09:29:40
1260
原创 loadrunner脚本编写---http、webservice、socket
1,HTTP的GET请求这里以访问百度为例,地址http://www.baidu.com/s?wd=mobile,表示在百度上搜索mobile。具体脚本如下(有注释)Lr script代码Action() { int status; lr_start_transaction("send"); web_reg_find("Search=Body",...
2018-08-23 16:42:06
511
转载 HCE基础知识普及
NFC技术发展NFC(Near Field Communication)是“近场通讯”的简称,采用短距离RF(射频)通讯技术。NFC 工作频率为13.56Hz,有效范围为500px 以内,其传输速度有106 Kbit/秒、212 Kbit/秒或者424 Kbit/秒三种,能够应用在手机/平板、电脑/游戏机、印表机、电子产品,甚至家电设备中。NFC技术已经有十来年历史,在过去的几年里
2017-04-07 10:20:12
1555
转载 Nginx配置文件(nginx.conf)配置详解
Nginx的配置文件nginx.conf配置详解如下: user nginx nginx ;Nginx用户及组:用户 组。window下不指定 worker_processes 8;工作进程:数目。根据硬件调整,通常等于CPU数量或者2倍于CPU。 error_log logs/error.log; error_log
2017-03-16 17:05:36
512
转载 3DES 和 ECB CBC 加密方式
一、数据补位DES数据加解密就是将数据按照8个字节一段进行DES加密或解密得到一段8个字节的密文或者明文,最后一段不足8个字节,按照需求补足8个字节(通常补00或者FF,根据实际要求不同)进行计算,之后按照顺序将计算所得的数据连在一起即可。这里有个问题就是为什么要进行数据补位?主要原因是DES算法加解密时要求数据必须为8个字节。二、ECB模式DES ECB(
2016-09-07 16:37:52
12285
原创 ajax调用webservice
通过ajax调用WebService服务 var xhr = new ActiveXObject("Microsoft.XMLHTTP"); function sendMsg(){ var name = document.getElementById('name').value;
2015-03-08 12:58:16
1577
原创 java nio学习(十二)
Java NIO与IO当学习了Java NIO和IO的API后,一个问题马上涌入脑海:我应该何时使用IO,何时使用NIO呢?在本文中,我会尽量清晰地解析Java NIO和IO的差异、它们的使用场景,以及它们如何影响您的代码设计。Java NIO和IO的主要区别下表总结了Java NIO和IO之间的主要差别,我会更详细地描述表中每部分的差异。IO
2015-01-05 16:27:53
898
原创 java nio 学习(十一)
PipeJava NIO 管道是2个线程之间的单向数据连接。Pipe有一个source通道和一个sink通道。数据会被写到sink通道,从source通道读取。这里是Pipe原理的图示:创建管道通过Pipe.open()方法打开管道。例如:Pipe pipe = Pipe.open();向管道写数据要向管道写数据,需要访问si
2015-01-05 15:56:07
761
原创 java nio(十)
DatagramChannelJava NIO中的DatagramChannel是一个能收发UDP包的通道。因为UDP是无连接的网络协议,所以不能像其它通道那样读取和写入。它发送和接收的是数据包。打开 DatagramChannel下面是 DatagramChannel 的打开方式:DatagramChannel channel = DatagramChan
2015-01-05 15:48:44
885
原创 java nio学习(九)
ServerSocketChannelJava NIO中的 ServerSocketChannel 是一个可以监听新进来的TCP连接的通道, 就像标准IO中的ServerSocket一样。ServerSocketChannel类在 java.nio.channels包中。ServerSocketChannel serverSocketChannel = ServerSocketChan
2015-01-05 15:39:19
957
原创 java nio学习(八)
SocketChannelJava NIO中的SocketChannel是一个连接到TCP网络套接字的通道。可以通过以下2种方式创建SocketChannel:打开一个SocketChannel并连接到互联网上的某台服务器。一个新连接到达ServerSocketChannel时,会创建一个SocketChannel。打开 SocketChannel下面是So
2015-01-05 15:34:29
905
原创 java nio学习(七)
FileChannelJava NIO中的FileChannel是一个连接到文件的通道。可以通过文件通道读写文件。FileChannel无法设置为非阻塞模式,它总是运行在阻塞模式下。打开FileChannel在使用FileChannel之前,必须先打开它。但是,我们无法直接打开一个FileChannel,需要通过使用一个InputStream、OutputS
2015-01-05 15:29:31
1095
原创 java nio学习(六)
SelectorSelector(选择器)是Java NIO中能够检测一到多个NIO通道,并能够知晓通道是否为诸如读写事件做好准备的组件。这样,一个单独的线程可以管理多个channel,从而管理多个网络连接。为什么使用Selector?仅用单个线程来处理多个Channels的好处是,只需要更少的线程来处理通道。事实上,可以只用一个线程处理所有的通道。对于操作系统来说,线程之
2015-01-05 15:13:40
866
原创 java nio学习(五)
通道之间的数据传输在Java NIO中,如果两个通道中有一个是FileChannel,那你可以直接将数据从一个channel(译者注:channel中文常译作通道)传输到另外一个channel。transferFrom()FileChannel的transferFrom()方法可以将数据从源通道传输到FileChannel中(译者注:这个方法在JDK文档中的解释为将字节
2015-01-04 17:34:18
913
原创 java nio学习(四)
Java NIO开始支持scatter/gather,scatter/gather用于描述从Channel(译者注:Channel在中文经常翻译为通道)中读取或者写入到Channel的操作。分散(scatter)从Channel中读取是指在读操作时将读取的数据写入多个buffer中。因此,Channel将从Channel中读取的数据“分散(scatter)”到多个Buffer中。聚集(ga
2015-01-04 17:25:13
952
原创 java nio学习(三)
Java NIO中的Buffer用于和NIO通道进行交互。如你所知,数据是从通道读入缓冲区,从缓冲区写入到通道中的。缓冲区本质上是一块可以写入数据,然后可以从中读取数据的内存。这块内存被包装成NIO Buffer对象,并提供了一组方法,用来方便的访问该块内存。Buffer的基本用法使用Buffer读写数据一般遵循以下四个步骤:写入数据到Buffer调用fli
2015-01-04 16:07:04
942
原创 java nio学习(二)
java NIO的通道类似流,但又有些不同:既可以从通道中读取数据,又可以写数据到通道。但流的读写通常是单向的。通道可以异步地读写。通道中的数据总是要先读到一个Buffer,或者总是要从一个Buffer中写入。正如上面所说,从通道读取数据到缓冲区,从缓冲区写入数据到通道。如下图所示:Channel的实现这些是Java NIO中最重要的通道的实现:
2015-01-04 15:56:46
928
原创 java nio学习(一)
Java NIO 概述Java NIO 由以下几个核心部分组成:ChannelsBuffersSelectors虽然Java NIO 中除此之外还有很多类和组件,但在我看来,Channel,Buffer 和 Selector 构成了核心的API。其它组件,如Pipe和FileLock,只不过是与三个核心组件共同使用的工具类。因此,在概述中我将集中在这三个组件上。其它组件
2015-01-04 15:24:06
1110
原创 Java IO的使用原则
一、按数据来源(去向)分类:1 、是文件: FileInputStream, FileOutputStream, ( 字节流 )FileReader, FileWriter( 字符 )2 、是 byte[] : ByteArrayInputStream, ByteArrayOutputStream( 字节流 )3 、是 Char[]: CharArrayReader, Ch
2014-12-02 11:44:03
1708
转载 深入分析java中的tcp/ip协议
TCP/IP TCP/IP是个协议组,可分为三个层次:网络层、传输层和应用层。 在网络层有IP协议、ICMP协议、ARP协议、RARP协议和BOOTP协议。 在传输层中有TCP协议与UDP协议。 在应用层有:TCP包括FTP、HTTP、TELNET、SMTP等协议 UDP包括DNS、TFTP等协议
2014-11-25 11:34:12
5270
原创 Linux中搭建SVN服务器
一 下载工具1. subversion-1.6.17.tar.gz2. subversion-deps-1.6.17.tar.gz二 解压两个包:1.在此之前,我已经创建了一个用户svnroot专门用来安装管理svn的,就解压在/home/root/目录下tar -xzvf subversion-1.6.17.tar.gztar -xzvf
2014-04-20 15:05:45
38459
2
原创 java中利用反射调用另一类的private方法
我们知道,Java应用程序不能访问持久化类的private方法,但Hibernate没有这个限制,它能够访问各种级别的方法,如private, default, protected, public. Hibernate是如何实现该功能的呢?答案是利用JAVA的反射机制,如下:
2014-04-03 17:16:57
13163
原创 JVM GC机制
内存管理和垃圾回收是JVM非常关键的点,对Java性能的剖析而言,了解内存管理和垃圾回收的基本策略非常重要。本篇对Sun JVM 6.0的内存管理和垃圾回收做大概的描述。 1.内存管理 在程序运行过程当中,会创建大量的对象,这些对象,大部分是短周期的对象,小部分是长周期的对象,对于短周期的对象,需要频繁地进行垃圾回收以保证无用对象尽早被释放掉,对于长周期对象,则不需
2014-03-11 14:09:05
8112
原创 Linux中的错误:too many open files
这个问题的出现原因是system对程序打开files数量的限制问题。 用 ulimit -a 命令可以查看 可以看出,对open files的限制数是1024,我们可以通过修改这个值来增加可以打开的文件数。 ****************************************************************** 临时修改: 将其改为2048,用
2014-03-11 11:02:51
3069
原创 Linux中的free命令
解释一下Linux上free命令的输出。 下面是free的运行结果,一共有4行。为了方便说明,我加上了列号。这样可以把free的输出看成一个二维数组FO(Free Output)。例如: FO[2][1] = 15402628 FO[3][2] = 12033012 free的输出一共有四行,第四行为交换区的信息,分别
2014-03-05 14:51:20
23410
1
原创 Oracle 创建索引的基本规则总结
1. 选择索引字段的原则:在WHERE子句中最频繁使用的字段 联接语句中的联接字段选择高选择性的字段(如果很少的字段拥有相同值,即有很多独特值,则选择性很好)Oracle在UNIQUE和主键字段上自动建立索引在选择性很差的字段上建索引只有在这个字段的值分布非常倾斜的情况下才有益(在这种情况下,某一,两个字段值比其它字段值少出现很多)不要在很少独特值的字段上建B-TREE索引,在这种情况
2013-12-04 23:11:53
2412
原创 oracle中报错Connect internal only, until freed
此问题属于归档日志满了有两种方法可以解决,第一种是删除归档日志,第二种是增大闪回日志文件的最大大小SQL> select * from V$FLASH_RECOVERY_AREA_USAGE; FILE_TYPE PERCENT_SPACE_USED PERCENT_SPACE_RECLAIMABLE NUMBER_OF_FILES ------------ ---
2013-11-18 09:39:39
23238
原创 oracle导入导出表及表结构
sqlplus 进入数据库中导出直接在命令行下写命令1.导出自己的表 exp userid=scott/tiger@myoral tables=(emp,dept) file=/opt/e1.dmp 2.导出其它方案的表 如果用户要导出其它方案的表,则需要dba的权限或是exp_full_database的权限,比如system就可以导出scott的表 exp us
2013-11-04 10:50:50
57691
原创 nginx基本配置与参数说明
#运行用户user nobody;#启动进程,通常设置成和cpu的数量相等worker_processes 1; #全局错误日志及PID文件#error_log logs/error.log;#error_log logs/error.log notice;#error_log logs/error.log info; #pid logs/nginx.
2013-10-22 17:01:44
1486
原创 Date类日期计算
在JAVA开发中,有时会遇到从数据库里获取一个时间,要去计算几天后的时间,现将Calendar与Date总结了一下:在获得一Date时间后,计算几天后的时间,首先要将Date类型转换成Calendar :一、Date转化为CalendarDate date=new Date();//这个Date值可以当成一变量;Calendar cal=Calendar.getInstan
2013-10-18 09:24:24
2844
原创 如何设计数据库(一)
数据库该如何设计,一直以来都是一个仁者见仁智者见智的问题。对于某一种数据库设计,并不能简单的用好与不好来区分。或许真的应了那句话,没有最好,只有最适合。讨论某种数据库设计的时候,应该在某种特定的需求环境下讨论。下面来讨论一下在项目中经常碰到的用户的联系方式储存的问题。我在这里套用之前网络上流行“普通——文艺——二逼”的分类方式来描述我下文中提及的三种数据库设计思路,并且通过查询数据(对
2013-10-16 14:41:25
1129
原创 玩转千万级别的数据(二)
方法2:用xml类型代替主从表设计,从而达到提高查询性能。优化和提高数据库的性能,是从一个良好的数据库设计开始的。以一个会议预订系统为例,一个预订会议系统包括了会议时间,会议地点,主持人,参与人,知会人,记录者等相关信息。在的TDD,DDD模型主导的时代,在这儿为了更好的想表达我要阐述的问题,还是以表驱动模型来进行开发。用户需求:a:一个会议可能有多个主持人,虽然这种情况比
2013-09-24 16:06:05
2051
原创 玩转千万级别的数据(一)
大数据处理是一个头疼的问题,特别当达不到专业DBA的技术水准时,对一些数据库方面的问题感到无奈。所以还是有必要了解一些数据库方面的技巧,当然,每个人都有自己的数据库方面的技巧,只是八仙过海,所用的武功不同而已。我把我最常用的几种方式总结来与大家分享,大家还有更多的数据库设计和优化的技巧,尽量的追加到评论中,有时一篇完整的博客评论比主题更为精彩。方法1:采用表分区技术。第一次听说表分
2013-09-24 16:00:09
2218
原创 如何判断系统中登录用户数
在网上找了下,大概有两种解决方案:1、通过数据库状态位判断该用户是否已经登录。2、利用session监听器监听每一个登录用户的登录情况。个人想了下,第一种解决方案很简单,但需要考虑用户非正常退出的情况,如直接关闭浏览器等等,可用性较低。接下来,主要介绍第二种方案的具体实现:A.用户登录后,先去数据库查询该登录名是否存在、是否锁定,在登录名存在且非锁定的情况下,从applicat
2013-09-18 19:20:09
3568
java设计模式
2018-06-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人