- 博客(166)
- 资源 (8)
- 收藏
- 关注
转载 负载均衡之数据链路层
在TCP/IP协议中数据链路层处于最底层,以帧的形式传输和接受数据。在这一层中MAC(Media Access Control)寻址是主要功能。在网络中MAC又称之为MAC地址,用于表示互联网上每个网卡的标识符,采用十六进制表示,共6个字节(48位),烧录在网卡内部。更形象的说MAC地址就像身份证号码,全球唯一。以太网中数据帧之间是通过MAC寻址来到达对应的计算机网卡或者路由的,因此,服务器集群可以充分利用这一特性来进行负载均衡。 数据链路层负载均衡通过修改通信协议数据包的mac地址进行负载均衡,..
2020-09-04 14:06:48
449
原创 ThreadLocal内存泄漏问题
首先需要了解下什么是强引用、软引用、弱引用和虚引用强引用是使用最普遍的引用:Object o=new Object(); 特点:不会被GC 将对象的引用显示地置为null:o=null; // 帮助垃圾收集器回收此对象 举例ArrayList的实现源代码: 软引用用来描述一些还有用但是并非必须的对象,在Java中用java.lang.ref.SoftReference...
2019-09-11 15:43:42
614
原创 ExecutorService.submit()与Executor.execute() 两个方法的相同与不同之处
说一说ExecutorService.submit()与Executor.execute() 两个方法的相同与不同之处相同之处:Both submit() and execute() methods are used to submit a task to Executor framework for asynchronous execution.submit和execute方法均可以想线...
2019-08-30 10:44:44
10179
2
转载 Filebeat中文指南
翻译自:https://www.elastic.co/guide/en/beats/filebeat/current/index.html下面的博客是公司里使用filebeat的实例,可以直接借鉴,有问题可以向我反馈。Filebeat 快速开始:http://www.cnblogs.com/kerwinC/p/8866471.html一、概述Filebeat是一个日志文件托运工具...
2019-05-23 10:25:47
810
转载 Linux中的文件描述符与打开文件之间的关系
1. 概述在Linux系统中一切皆可以看成是文件,文件又可分为:普通文件、目录文件、链接文件和设备文件。文件描述符(file descriptor)是内核为了高效管理已被打开的文件所创建的索引,其是一个非负整数(通常是小整数),用于指代被打开的文件,所有执行I/O操作的系统调用都通过文件描述符。程序刚刚启动的时候,0是标准输入,1是标准输出,2是标准错误。如果此时去打开一个新的文件,它的...
2019-04-02 10:16:27
667
转载 Linux操作系统主机名(hostname)简介
摘要:本文是关于Linux操作系统主机名(hostname)的文档,对主要配置文件/etc/hosts进行简要的说明 ;另外对基配具工具hostname也进行了举例说明; 欢迎高手斧正,谢谢; 目录 1、 什么是主机名; 2. 主机名配置文件; 2.1 主机名配置文件 /etc/hosts解说摘要:本文是关于Linux操作系统主机名(hostname)的文档,对主要配置文件/etc/hos...
2018-11-13 16:18:28
6752
原创 配置VirtualBox虚拟机访问外网,并于宿主机互联互通
在通常的情况下,会存在如题的需求,那如何在VirtualBox中对虚拟机进行设置呢?下面的设置可以帮助你1. 首先需要为虚拟机添加两张网卡,一个是“网络地址转换NAT”,一个是“仅主机(host-only)网络”,如下图所示 2. 然后配置虚拟机的网络,编辑网络配置文件(若没有ifcfg-eth1的话,可以cp一下ifcfg-eth0文件)3. 本实例中ifcfg-e...
2018-11-02 10:22:18
12394
1
转载 我对java中Serializable接口的理解
最近在阅读JDK源码中的集合,看到很多集合类实现了Serializable接口,Cloneable接口。在阅读了很多关于Serializable接口的博客后,浅谈下我对Serializable接口的理解。序列化 查看 官方文档 就会发现 Serializable接口中一个成员函数或者成员变量也没有。那么这个接口的作用是什么呢。网上找了一些博客看过之后,知道这个接口的作用是实现序列化。序列...
2018-09-13 17:29:48
671
转载 hadoop、storm和spark的区别、比较
1、hadoop、Storm该选哪一个?为了区别hadoop和Storm,该部分将回答如下问题: 1.hadoop、Storm各是什么运算 2.Storm为什么被称之为流式计算系统 3.hadoop适合什么场景,什么情况下使用hadoop 4.什么是吞吐量首先整体认识:Hadoop是磁盘级计算,进行计算时,数据在磁盘上,需要读写磁盘;Storm是内存级计算,数据直接通过网络...
2018-09-07 11:11:03
289
原创 SpringBoot集成Redis缓存
说在前面:本配置教程不是教你如何在SpringBoot中配置RedisTemplate来访问Redis,而是为了降低查询数据库的负载,而把Redis当做缓存来用,明白?首先纠正一个问题:如果用的持续集成工具是Maven的话,最好是明确依赖项的版本,例如如下的正确的配置<?xml version="1.0" encoding="UTF-8"?><proje...
2018-09-06 16:57:16
679
原创 SET FOREIGN_KEY_CHECKS=0;在Mysql中取消外键约束
在MySQL中删除一张表或一条数据的时候,出现[Err] 1451 -Cannot delete or update a parent row: a foreign key constraint fails (...)这是因为MySQL中设置了foreign key关联,造成无法更新或删除数据。可以通过设置FOREIGN_KEY_CHECKS变量来避免这种情况。我们可以使用...
2018-08-07 11:05:57
9449
原创 程序探讨
public static String md5(String string) { byte[] hash; try { hash = MessageDigest.getInstance("MD5").digest(string.getBytes("UTF-8")); } catch (UnsupportedEncodingE...
2018-08-07 10:24:51
287
转载 在Java中使用MD5和BASE64
为了能使获取的所有随机数都能有相同的位数,我们采用MD5获取随机数的消息摘要(或称数据指纹、数据摘要等等)。MD5可以将所有的数字组合进行一个算法的运算得出一个新的数字组合,并且这个新的数字组合都是128位,也称为MD5码。MD5码是不可逆的,即无法通过MD5码来进行反向运算得到原始的数据。MD5的应用场合非常多,比如保存用户密码(防止数据库中用户密码被管理员看到,所以数据库中的密码不许使用明...
2018-08-07 09:52:01
2362
原创 Java中数值类型的进制表示形式
二进制:0b****;(*表示0或1) 八进制:0****;(*表示0到7任意数字) 十六进制:0x****;(*表示0到f任意数字)
2018-08-07 09:43:04
775
原创 对已经被git跟踪的文件放弃跟踪
在某些情况下当commit时,由于疏忽不小心把一些不应该提交的文件提交到了repository中。为了将这些不需要被git跟踪但是已经被git跟踪的文件取消掉git的跟踪,可以通过如下的方式解决第一步,git rm -r -n --cached 文件或目录说明:只是为了列出你需要取消跟踪的文件,可以查看列表,检查下是否有误操作导致一些不应该被取消的文件取消了,是为了再次...
2018-08-06 17:27:27
3837
原创 前后端分离项目基于apereo开源单点登录SSO框架CAS的登录与登出流程
由于目前公司需要为已经存在的项目统一单点登录,而技术选型后采用的是apereo的CAS。但是由于官方CAS文档的混乱性(你懂得!),并且其官方的实例和网上的实例教程都是基于传统的项目(也就是非前后端分离项目),因此对于前后端分离的项目集成CAS的可参考的资料就比较少,于是就有了下面的前后端分离项目基于CAS的单点登录和单点登出流程图单点登录流程 单点登出流程 以上为前后端分离...
2018-05-04 16:40:31
7044
1
原创 定制化SpringMVC返回Json字符串
在一般的情况下在Controller上加上@ResponseBody注解,并且返回是一个对象的话,Spring会自动将这个对象转换为Json字符串给调用者。但是在一些情况下返回Spring返回的Json字符串(主要是Json字符串中的key值)不符合需求(比如调用方需要返回的Json字符串中的一个key为@class,而这个属性名称在java中是不合法的),此时需要手动地来生成这个字符串...
2018-05-04 10:00:18
1209
转载 idea @Override is not allowed when implementing interface method
近期研究idea,在编码过程发现报错:@Override is not allowed when implementing interface method 。找到一个老外的回答,感觉挺有用的,记录下来,以供参考:1、在project/module上,右键选择菜单“Open Module Settings” ;2、选择Modules,修改“Language Level” 为 “8-...
2018-05-02 14:47:29
390
原创 当在filter中出现系统异常时,如何定制化返回数据(比如返回给客户端json数据)
当在filter中出现系统异常时,如何定制化返回数据(比如返回给客户端json数据) 需求描述: 一般的情况下Spring中的@ExceptionHandler注解用于统一处理在Controller层抛出的异常。二通常情况下在项目中会使用到很多个第三方的框架,例如Spring,Struts等,有些框架需要配置其过滤器到项目中,当在过滤器中出现异常时,返回给调用端(可以是node,也可以是基...
2018-04-27 11:26:13
13339
原创 如何给对git对应的commit打tag
常用的tag分为两种一种是简单tag,一种是注释tag相对于简单tag,注释tag可以在生成tag时加入以下描述信息,并且当查看tag时,输出的信息也不一样通过如下的命令创建一个简单taggit tag v1.4-lw git tag v0.1 v1.3 v1.4 v1.4-lw v1.5通过如下的命令可以创建一个注释标签git tag -a v1.4 -m ...
2018-04-26 16:33:11
10969
2
原创 spring boot集成JSP设置
在idea中按照向导创建出一个完成的spring boot项目手动创建webapp目录,此时src目录下的目录结构如下src├── main│ ├── java│ │ └── com│ │ └── wusong│ │ └── common│ │ ├── CommonApplication.ja...
2018-04-24 09:21:10
757
转载 CAS实现单点登录(SSO)过程浅析
一、何谓单点登录单点登录(Single Sign On),简称为 SSO,简单理解就是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。二、何谓CASCAS(Central Authentication Service)是耶鲁大学的一个开源项目,旨在为web应用系统提供一种可靠的单点登录解决方案。采用CAS最大的是从安全性角度来考虑的,用户在CAS录入用户名和密码之后通过tick
2018-03-23 14:49:47
752
转载 IDEA查看源码时提示:Library source does not match the bytecode for class的问题分析
通过Maven查看依赖的源码时,通常是Maven自动下载JAR包附属的source包,但是会出现一个问题,由于使用lombok插件会造成编写的Java文件和编译后的class上有差别,所以IDEA打开时看到的是Maven打包时用的源码,而IDEA会自动匹配与.class反编译后的源代码,造成不匹配的提示。解决方法其实可以说是没有。http://www.cnblogs.com/EasonJim/p/7
2017-12-26 19:21:49
17763
3
原创 Quartz学习之Lesson10-Configuration, Resource Usage and SchedulerFactory
总得说来Quartz由以下几部分组成ThreadPoolJobStoreDataSources (if necessary)The Scheduler itselfThreadPool中线程数量的控制要根据实际情况来做设置;ThreadPool可以用你喜欢的任何方式来是实现;不过在Quartz中也有一个默认的实现org.quartz.simpl.SimpleThreadPool,目前这个实
2016-11-24 15:16:47
607
原创 Quartz学习之Lesson9-SchedulerListeners
JobStore用来存储在Quartz运行过程当中的一些重要数据,比如jobs,triggers和calendars等这里需要注意的是,JobStore是供Quartz来使用的,在我们的应用中不应该直接使用JobStore,在我们的代码中应该只出现Scheduler相关的API使用代码RAMJobStoreRAMJobStore将所有的Quartz运行中的数据存储到内存中,因此这种方式存在一个很
2016-11-24 14:51:43
590
原创 Quartz学习之Lesson8-SchedulerListeners
SchedulerListeners 和TriggerListenter,JobListenter在概念上差不过,只不过它主要用于监听Scheduler本身的一些event,例如向Scheduler中添加job/trigger,删除job/trigger,Scheduler本身的一些严重问题的event(Scheduler意外退出等)SchedulerListeners通过Scheduler的Li
2016-11-23 14:54:18
580
原创 Quartz学习之Lesson7-TriggerListeners and JobListeners
Listener用来监听相关的event,并可以根据相应的event,采取不同的action。在Quartz中有两种形式的Listenter,一种是TriggerListeners,一种是JobListeners。与Trigger相关联的事件包括:trigger firings, trigger mis-firings (discussed in the “Triggers” section of
2016-11-23 14:42:57
862
原创 Quartz学习之Lesson6-CronTrigger
CronTrigger可以完成比SimpleTrigger更为强大的时间触发设置。支持Crop ExpressionCron Expressions详细解释了Cron表达式。具体内容可以直接阅读文档Example Cron Expressions列举了一些Cron表达式的例子。具体内容可以直接阅读文档Building CronTriggers可以通过TriggerBuilder和CronSchedu
2016-11-23 14:20:10
499
原创 Quartz学习之Lesson5-SimpleTrigger
SimpleTrigger should meet your scheduling needs if you need to have a job execute exactly once at a specific moment in time, or at a specific moment in time followed by repeats at a specific interval.
2016-11-22 20:15:31
549
原创 Quartz学习之Lesson4-关于Triggers的更多信息
Common Trigger AttributesjobKey:一个Trigger的唯一标识,由name和group组成startTime:Trigger第一次触犯的时间endTime:Trigger的结束时间Priority:由于在Quartz的线程池的线程数量是有限的,因此若在同一时刻多个Trigger被触发的话,那么这么多个Trigger无法同时被执行;若想让某个Trigger优先执行
2016-11-22 19:33:22
779
原创 Quartz学习之Lesson3-关于Job和JobDetails的更多信息
当我们自定义一个Job(即,实现Job接口,并将要执行的真实业务放置到execute方法中)后,Quartz在每次执行这个Job时,都会根据这个自定义的Job的class生成不同的对象
2016-11-22 17:18:43
661
原创 Quartz学习之Lesson2-Quartz的API,Job和Trigger
当我们定义的Job真正执行时,其实是由Scheduler的一个线程来执行Job中的execute方法。Scheduler会把JobExecutionContext传递给execute方法,JobExecutionContext中包含了这个Job执行时的上下文环境。并且可以通过JobDetail,来给Job增加一些定制化的数据信息,这些信息放置到了JobDataMap中Trigger是用来定义Job
2016-11-22 17:16:40
541
原创 Quartz学习之Lesson1-使用Quartz
Quartz学习之Lesson1创建一个定时任务的话,首选需要一个Scheduler,可以通过JNDI的工场方式创建[如何理解],或者通过简单工场方式创建,例如:SchedulerFactory schedFact = new org.quartz.impl.StdSchedulerFactory();Scheduler sched = schedFact.getScheduler();Schedu
2016-11-22 17:13:57
607
转载 修改git全部已提交的用户名和邮箱
原文的link:http://dangzhiqiang.blog.51cto.com/7961271/1657864即:修改git所有commit中的用户名和email作为一名 Git 苦手,我一直使用的是傻瓜级的 Github 客户端,去年九月迁移到 OS X 后也是如此。好几个月后我发现自己的 contribution graph 有一大片空白,才意识到迁移之后 c
2016-05-12 18:01:40
20068
原创 MAC查看端口占用情况
MAC查看端口占用情况命令 lsof -i tcp:port (port替换成端口号,比如6379)可以查看该端口被什么程序占用,并显示PID,方便KILL
2016-04-28 15:40:56
934
原创 欢迎使用优快云-markdown编辑器
欢迎使用Markdown编辑器写博客本Markdown编辑器使用[StackEdit][6]修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用
2016-04-28 15:38:45
678
转载 Linux操作系统下/etc/hosts文件详解
原文link:http://blog.youkuaiyun.com/gmnet/article/details/7996544Linux 的/etc/hosts是配置ip地址和其对应主机名的文件,这里可以记录本机的或其他主机的ip及其对应主机名。不同的linux版本,这个配置文件也可能不同...1、关于/etc/host,主机名和IP配置文件Hosts - The static table
2015-02-09 11:18:50
12458
原创 linux中.so后缀的文件怎么使用啊
参考1:http://zhidao.baidu.com/link?url=Zx0t6DMIpPvMNhIKZEudJOmDR4MXcr-B5_KbELCIoNz1jnJ7A_--J-qIaiVkYIi0FPqIY-lUIcuRA6NEWHK9aK在WINDOWS系统中有很多的动态链接库(以.DLL为后缀的文件,DLL即Dynamic Link Library)。这种动态链接库,和静态函数库不同
2015-01-14 14:23:45
4644
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人