自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

安静的傍晚

每一件事都要用多方面的角度来看它。

  • 博客(49)
  • 收藏
  • 关注

原创 Windows安装MySQL5.7.23-log

下载地址:https://downloads.mysql.com/archives/community/

2020-06-04 11:25:25 563

原创 Linux安装MySQL详细步骤

下载MySQL安装包下载地址1:https://dev.mysql.com/downloads/下载地址2:wget http://dev.mysql.com//Downloads/MySQL-5.7/mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz我这边选择的是第二种安装MySQL1. 下载完毕后上传到Linux服务器2. 解压[root@localhost user]# tar xvf mysql-5.7.26-linux-glibc2.12-x8

2021-08-27 11:16:31 151

原创 Windows MySQL主备、主从操作

[mysqld]character_set_server=utf8basedir=D:\\software\\mysql-5.7.23-3307datadir=D:\\software\\mysql-5.7.23-3307\\datasql_mode=NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTIONlower_case_table_names=1innodb_file_per_table = 1log_timestamps=SYSTEM# 唯一IDse

2020-06-05 10:18:14 347

原创 监控工单技术分享

背景 简化繁复而耗时的监控运维工作,优化运维管理工作流程,满足监控运维领域不断发展的需要,实现监控的智能化运维与管理,帮助用户实时掌控监控系统中各设备运行情况,为应急反应和后勤保障提供完备的信息化管理措施。技术准备1. 框架Springboot2. 数据库Mysql,Redis3. 移动端 Android,Ios4. Nginx5. 流程引擎工单模块功能1. 工单收集:工单产...

2019-12-05 18:00:40 1576

原创 Springboot-http请求转https

application.properties配置证书放到resources栏目下和application.properties同级# 文件路径server.ssl.key-store= classpath:# 密钥口令server.ssl.key-store-password:# 密钥类型server.ssl.key-store-type:启动类@Bean public...

2019-11-15 14:13:44 731 1

原创 log4j2日志入库

log4j2.xml<?xml version="1.0" encoding="UTF-8"?><Configuration> <!-- 文件输出格式 --> <Properties> <Property name="LOG_HOME">logs/</Property> <propert...

2019-11-15 11:10:23 569

原创 Java单例模式

// 饿汉式class Preson{ private String name; public String setName(String name) { return this.name = name; } public String getName() { return name; } Preson() {}; private static Preson ...

2019-11-15 11:02:14 142

原创 一个对象如何实现多次setter并保证前面setter的值不会覆盖前面的值

第一步:实体类实现(Cloneable);并重新clone()public class Student implements Cloneable { private String name; private Integer age; @Override public Object clone() throws CloneNotSupportedExc...

2019-11-14 15:55:57 581

原创 java中对象非空判断

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Ma...

2019-11-14 15:35:46 2318

原创 JVM调优

    JVM调优的重点是垃圾回收(gc,garbage collection)和内存管理。    垃圾回收的时候会导致整个虚拟机暂停服务。    因此,应该尽可能地缩短垃圾回收的处理时间。设置堆大小 提高最大可用内存。更具服务器的内存控制基本上没存总量的二分之一多。设置 年老代年轻代大小 sun公司推荐比值为3/8 年老代比年轻代设置每个线程的堆栈大小 sun 推荐 5.0 以上推荐大小设置为1...

2018-02-27 14:34:33 244

原创 Tomcat优化教程

Tomcat内存优化,启动时告诉JVM我要一块大内存(调优内存是最直接的方式)Windows 下的catalina.bat;Linux 下的catalina.sh 如下:JAVA_OPTS='-Xms256m -Xmx512m'-Xms&lt;size&gt; JVM初始化堆的大小-Xmx&lt;size&gt; JVM堆的最大值 实际参数大小根据服务器配置或者项目具体设置.Tomcat 线程...

2018-02-27 14:30:57 369

原创 StringBuffer StringBuilder String 区别

        String 字符串常量,值不能改变        StringBuffer与Stringbuilder是字符串变量,值可以改变,他们都采用append()追加字符串,所以效率高于String         StringBuilder执行效率高于StringBuffer高于String,所以StringBuilder是非线程安全的,StringBuffer是线程安全的...

2018-02-27 11:45:00 229

原创 Java垃圾回收机制、GC

        说到垃圾回收(Garbage Collection,GC),很多人就会自然而然地把它和Java联系起来。在Java中,程序员不需要去关心内存动态分配和垃圾回收的问题,这一切都交给了JVM来处理。顾名思义,垃圾回收就是释放垃圾占用的空间一、如何确定某个对象是“垃圾”?        在这一小节我们先了解一个最基本的问题:如果确定某个对象是“垃圾”?既然垃圾收集器的任务是回收垃圾对象所...

2018-02-27 11:35:35 220

原创 年轻代、年老代和持久代

        年轻代(Young Generation)、年老代(Old Generation)和持久代(Permanent Generation)。其中持久代主要存放的是Java类的类信息,与垃圾收集要收集的Java对象关系不大。年轻代和年老代的划分是对垃 圾收集影响比较大的。年轻代        所有新生成的对象首先都是放在年轻代的。年轻代的目标就是尽可能快速的收集掉那些生命周期短的对象。年...

2018-02-27 11:27:11 559

原创 数据库优化

1、索引的优化(索引的创建:oracle中为create index 索引名 on 表名(列名); )        当我们数据库的数据过多,查询速度跟不上时,我们可以通过创建索引的方式,加快速度,我自己进行过一个测试,我当时用了300万条数据,字段大概8个 ,不加索引时查询一条数据用了8.626秒,加完索引以后用了0.004,快了两千多倍,其中加索引的速度用了2分40秒,索引占了200多兆的空间...

2018-02-27 11:21:07 207

原创 Java精确计时

一般的java运输计时代码long starTime=System.currentTimeMillis();//运算代码long endTime=System.currentTimeMillis();long Time=endTime-starTime;System.out.println(Time);如果运算时间很短的时候,currentTimeMillis()是1970年1月1日...

2018-02-26 22:30:42 2920

原创 Struts2是怎样通过struts.xml进行前后台交互呢?

     首先在项目启动的时候,项目下的Struts.xml文件会被dom4j工具解析;而当我们发送一个请求时,这个请求被StrutsPrepareAndExecuteFilter 拦截,而我们配置了struts处理url的拦截表达式,比如在&lt;filter- maping&gt;中我们配置&lt;url -pattern&gt; 为 /* 或 *.do的通配符。这样当你发送一个请求的时候就被...

2018-02-26 10:06:20 743

原创 如何实现字符串的反转及替换?

        可用字符串构造一StringBuffer 对象,然后调用StringBuffer 中的reverse方法即可实现字符串的反转,调用replace 方法即可实现字符串的替换。

2018-02-26 09:57:33 542

原创 多线程中的忙循环是什么?

        忙循环就是程序员用循环让一个线程等待,不像传统方法wait(), sleep() 或 yield() 它们都放弃了CPU控制,而忙循环不会放弃CPU,它就是在运行一个空循环。这么做的目的是为了保留CPU缓存,在多核系统中,一个等待线程醒来的时候可能会在另一个内核运行,这样会重建缓存。为了避免重建缓存和减少等待重建的时间就可以使用它了。...

2018-02-26 09:56:02 10434

原创 Java中的ReadWriteLock是什么?

        一般而言,读写锁是用来提升并发程序性能的锁分离技术的成果。Java中的ReadWriteLock是Java 5 中新增的一个接口,一个ReadWriteLock维护一对关联的锁,一个用于只读操作一个用于写。在没有写线程的情况下一个读锁可能会同时被多个读线程持有。写锁是独占的,你可以使用JDK中的ReentrantReadWriteLock来实现这个规则,它最多支持65535个写锁和...

2018-02-26 09:55:22 343

原创 Java中synchronized 和 ReentrantLock 有什么不同?

        Java在过去很长一段时间只能通过synchronized关键字来实现互斥,它有一些缺点。比如你不能扩展锁之外的方法或者块边界,尝试获取锁时不能中途取消等。Java 5 通过Lock接口提供了更复杂的控制来解决这些问题。 ReentrantLock 类实现了 Lock,它拥有与 synchronized 相同的并发性和内存语义且它还具有可扩展性...

2018-02-26 09:53:45 444

原创 怎么检测一个线程是否拥有锁?

在java.lang.Thread中有一个方法叫holdsLock(),它返回true如果当且仅当当前线程拥有某个具体对象的锁。

2018-02-26 09:53:17 2639

原创 Java中活锁和死锁有什么区别?

        活锁和死锁类似,不同之处在于处于活锁的线程或进程的状态是不断改变的,活锁可以认为是一种特殊的饥饿。一个现实的活锁例子是两个人在狭小的走廊碰到,两个人都试着避让对方好让彼此通过,但是因为避让的方向都一样导致最后谁都不能通过走廊。简单的说就是,活锁和死锁的主要区别是前者进程的状态可以改变但是却不能继续执行。...

2018-02-26 09:52:32 1872

原创 Java如何避免死锁?

Java多线程中的死锁        死锁是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去。这是一个严重的问题,因为死锁会让你的程序挂起无法完成任务,死锁的发生必须满足以下四个条件:互斥条件:一个资源每次只能被一个进程使用。请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持不放。不剥夺条件:进程已获得的资源,在末使用完之前,...

2018-02-26 09:51:56 443

原创 Java内存模型是什么?

Java内存模型规定和指引Java程序在不同的内存架构、CPU和操作系统间有确定性地行为。它在多线程的情况下尤其重要。Java内存模型对一个线程所做的变动能被其它线程可见提供了保证,它们之间是先行发生关系。这个关系定义了一些规则让程序员在并发编程时思路更清晰。比如,先行发生关系确保了:线程内的代码能够按先后顺序执行,这被称为程序次序规则。对于同一个锁,一个解锁操作一定要发生在时间上后发生的另一个锁...

2018-02-26 09:50:55 667

原创 SpringMVC与Struts2的主要区别?

SpringMVC的入口是一个servlet即前端控制器,而struts2入口是一个filter过虑器。SpringMVC是基于方法开发,传递参数是通过方法形参,可以设计为单例或多例(建议单例),Struts2是基于类开发,传递参数是通过类的属性,只能设计为多例。 Struts采用值栈存储请求和响应的数据,通过OGNL存取数据, SpringMVC通过参数解析器是将request对象内容进行解析成...

2018-02-26 09:46:55 416

原创 如何解决POST请求中文乱码问题,GET的又如何处理呢?

在web.xml中加入:&lt;filter&gt; &lt;filter-name&gt;CharacterEncodingFilter&lt;/filter-name&gt; &lt;filter-class&gt;org.springframework.web.filter.CharacterEncodingFilter&lt;/filter-class&gt; &l...

2018-02-26 09:45:42 573

原创 SpringMVC的工作流程?

流程 :用户发送请求至前端控制器DispatcherServlet DispatcherServlet收到请求调用HandlerMapping处理器映射器。 处理器映射器找到具体的处理器,生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet。 DispatcherServlet调用HandlerAdapter处理器适配器 HandlerAdapter经过适配调用...

2018-02-26 09:42:32 302

原创 高并发的核心技术 - 消息中间件(MQ)

什么是MQ        跨进程的消息队列,主要角色包括生产者与消费者。        生产者只负责生产信息,无法感知消费者是谁,消息怎么处理,处理结果是什么。        消费者负责接收及处理消息,无法感知生产者是谁,怎么产生的。MQ能做什么?        MQ 特性一般有异步,吞吐量大 ,延时低;        适合做:        投递异步通知。 限流,削峰谷。可靠事件,处理数据一致性...

2018-02-25 21:29:26 944

原创 什么是单点登录?

        SSO(单点登录)就是只需在一个登录认证服务下进行登录后,就可访问所有相互信任的应用。CAS是一个经典的SSO实现,它分服务端和客户端,服务端就是登录认证服务,客户端各个需要保护授权的应用,它的流程是:    假设分别有www.360kjh.com(简称www)、agent.360kjh.com(简称agent)两个主业务服务,和1个passport.360kjh.com(简称pa...

2018-02-25 19:34:27 1617

原创 多服务器怎么打日志会比较好,可以不用一台机器一台机器找?

        统一到某个服务下啊,例如所有日志都送到MongoDB数据库集群中,也可以通过MQ传输到远程保存处理,log4j有很多适配器,其中就有个MongoDB适配器,可以将日志送往MongoDB数据库...

2018-02-25 19:33:02 814

原创 SEO&运营

使用了什么分享工具?    使用的百度分享插件,只需在网页上嵌入百度分享插件的JavaScript代码,就可以网页安装分享功能。百度分享插件网址是:http://share.baidu.com/SEO要注意哪些要点?    SEO搜索引擎优化很重要,它不但能让网站快速被引擎收录,带来用户,而且要求技术人员必须规范开发,例如规范页面结构、URL地址等。    SEO是个系统性工程,要点非常多,如: ...

2018-02-25 19:30:30 257

原创 并发,并行,同步,异步,多线程的区别

并发:在操作系统中,是指一个时间段中有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是在同一个处理机上运行。其中两种并发关系分别是同步和互斥互斥:进程间相互排斥的使用临界资源的现象,就叫互斥。同步:进程之间的关系不是相互排斥临界资源的关系,而是相互依赖的关系。进一步的说明:就是前一个进程的输出作为后一个进程的输入,当第一个进程没有输出时第二个进程必须等待。具有同步关系的一组并发进程相互发送...

2018-02-25 19:08:35 248

原创 Hibernate与mybatis的区别

1.hibernate是全自动,而mybatis是半自动    hibernate完全可以通过对象关系模型实现对数据库的操作,拥有完整的JavaBean对象与数据库的映射结构来自动生成sql。而mybatis仅有基本的字段映射,对象数据以及对象实际关系仍然需要通过手写sql来实现和管理。2.hibernate数据库移植性远大于mybatis    hibernate通过它强大的映射结构和hql语言...

2018-02-25 16:05:35 150

原创 事务的ACID特性

原子性(A)    所谓的原子性就是说,在整个事务中的所有操作,要么全部完成,要么全部不做,没有中间状态。对于事务在执行中发生错误,所有的操作都会被回滚,整个事务就像从没被执行过一样。一致性(C)    事务的执行必须保证系统的一致性,就拿转账为例,A有500元,B有300元,如果在一个事务里A成功转给B50元,那么不管并发多少,不管发生什么,只要事务执行成功了,那么最后A账户一定是450元,B账...

2018-02-25 15:41:28 260

原创 分布式事务处理方案,微服事务处理方案

微服事务处理方案(分布式事务处理方案)1. 什么是事务由一组操作构成的可靠、 独立的工作单元。事务具有以下特点:Atomicity(原子性)Consistency(一致性)Isolation(隔离性)Durability(持久性)2.事务的一致性单体应用可以在数据库的事物管理器中获得强一致性,这种本地事物可靠简单。而在微服或者SOA的场景下,我们的本地事物就不作用了。对于分布式系统 Google ...

2018-02-25 15:37:35 308

原创 什么是高并发?与多线程有什么区别?你的项目有高并发问题吗?是如何解决的?

高并发是指较多用户同时访问服务。高并发可以由多线程实现,但是多线程不代表就是高并发。在会计汇有个投票调查项目,是和财政部合作的,会计人员进行填写完调查结果后,将获得5个学分。通过短信向全国500万会计人员发送短信,这时高峰期会有10万多用户同时在线答题。解决办法是:1、使用了LVS + Nginx四台机器进行负载均衡2、用了Spring + Redis实现4台Tomcat的Session共享3、答...

2018-02-25 10:29:01 7643

原创 Hibernate与Mybatis的区别

1 、简单简介Hibernate 框架     Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,建立对象与数据库表的映射。是一个全自动的、完全面向对象的持久层框架。Mybatis框架    Mybatis是一个开源对象关系映射框架,原名:ibatis,2010年由谷歌接管以后更名。是一个半自动化的持久层框架。2、两者区别     开发方面       ...

2018-02-25 10:11:34 190

原创 zookeeper是如何选取主leader的?

以一个简单的例子来说明整个选举的过程.假设有五台服务器组成的zookeeper集群,它们的id从1-5,同时它们都是最新启动的,也就是没有历史数据,在存放数据量这一点上,都是一样的.假设这些服务器依序启动,来看看会发生什么.1) 服务器1启动,此时只有它一台服务器启动了,它发出去的报没有任何响应,所以它的选举状态一直是LOOKING状态2) 服务器2启动,它与最开始启动的服务器1进行通信,互...

2018-02-25 09:25:12 3037 1

原创 怎么实现hibernate悲观锁和乐观锁

隔离级别的安全控制是整体一个大的方面,而锁机制更加的灵活,它执行的粒度可以很小,可以在一个事务中存在。Hibernate悲观锁是依靠底层数据库的锁机制实现,在查询query.setLockMode(),hibernate的加锁模式有:LockMode.NONE :无锁机制。LockMode.WRITE :Hibernate在 Insert和 Update记录的时候会自动获取。LockMode.RE...

2018-02-25 09:24:03 329

空空如也

空空如也

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

TA关注的人

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