- 博客(156)
- 资源 (5)
- 收藏
- 关注
原创 idea elipse 常用快捷键对比
idea中的一些常用快捷键java开发工具比较优秀的目前是eclipse和idea了,喜欢的人群也都是比较多的。习惯了用eclipse做开发,快捷键也用习惯了,切换到idea的程序员总是觉得不太习惯,这里简单整理了一部分常用的快捷键,方便忘记的时候查看,也欢迎大家补充。1. 删除光标所在行代码idea快捷键: Ctrl+Xeclipse快捷键: Ctrl+D2. 复制光标所在行代码,或者鼠标选中的代码idea快捷键: Ctrl+Declipse快捷键: Ctrl+Alt+上下键.
2021-04-23 16:48:51
585
原创 SpringBoot与SpringCloud的版本对应详细版
一定要用官方推荐的版本,要不然以后可能会出现一些莫名其妙的问题。Spring官方对应版本地址:https://start.spring.io/actuator/infojson格式化后cloud和springboot的版本对应关系如下: "spring-cloud": { "Hoxton.SR9": "Spring Boot >=2.2.0.RELEASE and <2.3.9.BUILD-SNAPSHOT", ...
2021-02-02 17:22:30
6064
转载 Eclipse集成Git插件及使用
1. Git插件安装1.1 下载插件首先打开Eclipse,然后点击Help>Install New Software>Add。Name:EGitLocation:http://download.eclipse.org/egit/updates图1图2勾选插件,然后一路 next ,最后重启Eclipse。2. Git提交代码2.1 建...
2019-09-20 16:57:13
743
原创 数据库并发事务问题(脏读、不可重复读、幻读)
脏读(读取未提交的数据)A事务读取B事务还未提交的数据,此时B事务因某些原因回滚,那么A读到的这个数据就是脏读。以转账为例1 开始事务 2 查询余额1000元 3 取款200元,余额变为800元 4 开始事务 5 查询余额800元(脏读) 6 存款1000,...
2019-06-21 17:19:53
1378
原创 为什么重写equals方法必须重写hashcode
直接先运行一段代码,看结果:public class Test { public static void main(String[] args) { Map<User, Integer> map = new HashMap<>(); map.put(new User("11"), 11); map.put(new User("22"), 22); ...
2019-05-23 17:01:05
273
转载 如何把jar包做成windows服务
第一种方法:1, 准备工具Hello.jar: 可运行的包。这里我的是最简单的say helloworld! Main函数所在类路径:org.springframework.boot.loader.JarLauncher(这个是一般springboot项目的启动类),JavaService: 下载地址 http://download.forge.ow2.org/javaservice...
2019-04-04 09:39:07
3192
转载 单点登录系统
之前做过单点登录系统,和这个用原理一样:https://www.cnblogs.com/ywlaker/p/6113927.html
2019-02-11 16:42:55
405
转载 oracle 导入导出dum文件
dmp文件导出 dmp文件导出用的比较多的一般是三种,他们分别是:导出整个数据库实例下的所有数据、导出指定用户的所有表、导出指定表。 这里已我的数据库为例,进行介绍,我的Oracle数据库实例为"ORACLE",查看自己数据库实例可以从"任务管理器-->服务"中进行查看,如下图 打开命令行: 1,将数据库ORACLE完全导...
2019-01-04 10:55:21
913
转载 openstack-制作Windows server 2008镜像
1.安装软件yum install qemu-kvm libvirt libvirt-python libguestfs-tools virt-installsystemctl enable libvirtd && systemctl start libvirtdyum -y install virt*#Windows 默认不支持virtio驱动,需要手动下载y...
2018-08-07 16:13:34
1754
转载 构建openstack本地yum源
1、选择一台CentOS服务器,安装以下软件:yum install yum-utils createrepo yum-plugin-prioritiesyum install httpd2、开启http服务systemctl start httpd3、获取repo文件并使用reposync同步源yum install -y http://[rdo.fedorap...
2018-07-24 15:10:46
2085
转载 linux企业内部源制作
安装http# yum -y install httpd -y安装软件包# yum -y install rsync createrepo创建目录# mkdir -p /var/www/repos/centos/7/{os,updates,extras}/x86_64设置权限# chmod -R 755 /var/www/repos从清华官方源同步# ...
2018-07-24 14:11:44
236
转载 sql性能优化基础方法论
一,sql性能优化基础方法论对于功能,我们可能知道必须改进什么;但对于性能问题,有时我们可能无从下手。其实,任何计算机应用系统最终队可以归结为:cpu消耗内存使用对磁盘,网络或其他I/O设备的输入/输出(I/O)操作。阅读本文,建议大家已经掌握了扎实的互联网架构技术,可参考:互联网架构技术清单但我们遇到性能问题时,要判断的第一点就是“在这三种资源中,
2018-01-11 10:51:55
403
原创 eclipse安装svn插件(最新)
eclipse安装svn插件新版svn已经迁移到githubhttps://github.com/subclipse/subclipsesvn的安装方式有2种,我这里使用eclipse安装方式:1.打开eclipse,点击Help-->Install New Software,如图2.点击Add,输入svn插件地址,目前最新版本:https://dl.bintray.com
2017-08-04 14:50:11
540
原创 springboot junit 不能保存到数据库
添加注解@Rollback(false)完整代码如下:@RunWith(SpringRunner.class)@SpringBootTest(classes=Application.class,webEnvironment = WebEnvironment.RANDOM_PORT)@DirtiesContext@EnableTransactionManagementpubl
2017-08-02 15:10:40
3287
转载 纯干货,Spring-data-jpa详解,全方位介绍。
本篇进行Spring-data-jpa的介绍,几乎涵盖该框架的所有方面,在日常的开发当中,基本上能满足所有需求。这里不讲解JPA和Spring-data-jpa单独使用,所有的内容都是在和Spring整合的环境中实现。如果需要了解该框架的入门,百度一下,很多入门的介绍。在这篇文章的接下来一篇,会有一个系列来讲解mybatis,这个系列从mybatis的入门开始,到基本使用,和spring整合,和第
2017-07-12 10:43:49
794
转载 restful风格,restcontroller与controller
restful风格,restcontroller与controller初步接触springmvc的时候,被要求使用restful风格,彼时一头雾水,不懂何谓restful,参阅了很多资料,慢慢的接触的也越来越多,如今spring的况且已基本运用熟练,简单谈一下我的一些看法,当然,只是我自己的浅显粗陋的见解,不对的地方还望指正。restful风格简单的理解,restful是一种url风格
2017-07-12 10:41:32
494
转载 重写equal()时为什么也得重写hashCode()之深度解读equal方法与hashCode方法渊源
转自:http://blog.youkuaiyun.com/javazejian/article/details/51348320今天这篇文章我们打算来深度解读一下equal方法以及其关联方法hashCode(),我们准备从以下几点入手分析:1.equals()的所属以及内部原理(即Object中equals方法的实现原理)说起equals方法,我们都知道是超类
2017-06-28 10:43:27
289
转载 java基本数据类型传递与引用传递区别详解
转自:http://blog.youkuaiyun.com/javazejian/article/details/51192130Java的值传递和引用传递在面试中一般都会都被涉及到,今天我们就来聊聊这个问题,首先我们必须认识到这个问题一般是相对函数而言的,也就是java中的方法参数,那么我们先来回顾一下在程序设计语言中有关参数传递给方法(或函数)的两个专业术语:按值调用(call
2017-06-28 10:40:25
299
转载 SpringDataJpa的Specification查询
Spring Data JPA支持JPA2.0的Criteria查询,相应的接口是JpaSpecificationExecutor。Criteria 查询:是一种类型安全和更面向对象的查询 。这个接口基本是围绕着Specification接口来定义的, Specification接口中只定义了如下一个方法:Predicate toPredicate(Root root, CriteriaQ
2017-05-25 14:53:00
1202
转载 使用 Spring Data JPA 简化 JPA 开发
从一个简单的 JPA 示例开始本文主要讲述 Spring Data JPA,但是为了不至于给 JPA 和 Spring 的初学者造成较大的学习曲线,我们首先从 JPA 开始,简单介绍一个 JPA 示例;接着重构该示例,并引入 Spring 框架,这两部分不会涉及过多的篇幅,如果希望能够深入学习 Spring 和 JPA,可以根据本文最后提供的参考资料进一步学习。自 JPA 伴随 J
2017-05-25 14:51:17
308
转载 高并发Java 十 JDK8对并发的新支持
1. LongAdder和AtomicLong类似的使用方式,但是性能比AtomicLong更好。LongAdder与AtomicLong都是使用了原子操作来提高性能。但是LongAdder在AtomicLong的基础上进行了热点分离,热点分离类似于有锁操作中的减小锁粒度,将一个锁分离成若干个锁来提高性能。在无锁中,也可以用类似的方式来增加CAS的成功率,从而提高性能。LongAdde
2017-05-11 17:43:19
1943
转载 高并发Java 九 锁的优化和注意事项
1. 锁优化的思路和方法在[高并发Java 一] 前言中有提到并发的级别。一旦用到锁,就说明这是阻塞式的,所以在并发度上一般来说都会比无锁的情况低一点。这里提到的锁优化,是指在阻塞式的情况下,如何让性能不要变得太差。但是再怎么优化,一般来说性能都会比无锁的情况差一点。这里要注意的是,在[高并发Java 五] JDK并发包1中提到的ReentrantLock中的tryLock,偏向于
2017-05-11 17:42:33
396
转载 高并发Java 八 NIO和AIO
IO感觉上和多线程并没有多大关系,但是NIO改变了线程在应用层面使用的方式,也解决了一些实际的困难。而AIO是异步IO和前面的系列也有点关系。在此,为了学习和记录,也写一篇文章来介绍NIO和AIO。1. 什么是NIONIO是New I/O的简称,与旧式的基于流的I/O方法相对,从名字看,它表示新的一套Java I/O标 准。它是在Java 1.4中被纳入到JDK中的,并具有以下特性:
2017-05-11 17:40:48
292
转载 高并发Java 七 并发设计模式
1. 什么是设计模式在软件工程中,设计模式(design pattern)是对软件设计中普遍存在(反复出现)的各种问题 ,所提出的解决方案。这个术语是由埃里希·伽玛(Erich Gamma)等人在1990年代从建筑设计领 域引入到计算机科学的。 著名的4人帮: Erich Gamma,Richard Helm, Ralph Johnson ,John Vlissides (Gof) 《
2017-05-11 17:35:17
310
转载 高并发Java 六 JDK并发包2
1. 线程池的基本使用1.1.为什么需要线程池平时的业务中,如果要使用多线程,那么我们会在业务开始前创建线程,业务结束后,销毁线程。但是对于业务来说,线程的创建和销毁是与业务本身无关的,只关心线程所执行的任务。因此希望把尽可能多的cpu用在执行任务上面,而不是用在与业务无关的线程创建和销毁上面。而线程池则解决了这个问题,线程池的作用就是将线程进行复用。1.2.JDK为我们提供了
2017-05-11 17:28:04
1197
转载 高并发Java 五 JDK并发包1
1. 各种同步控制工具的使用1.1 ReentrantLock ReentrantLock感觉上是synchronized的增强版,synchronized的特点是使用简单,一切交给JVM去处理,但是功能上是比较薄弱的。在JDK1.5之前,ReentrantLock的性能要好于synchronized,由于对JVM进行了优化,现在的JDK版本中,两者性能是不相上下的。如果是简单的实现,
2017-05-11 17:19:39
417
转载 高并发Java 四 无锁
在高并发Java 一 中已经提到了无锁的概念,由于在jdk源码中有大量的无锁应用,所以在这里介绍下无锁。1 无锁类的原理详解1.1 CASCAS算法的过程是这样:它包含3个参数CAS(V,E,N)。V表示要更新的变量,E表示预期值,N表示新值。仅当V值等于E值时,才会将V的值设为N,如果V值和E值不同,则说明已经有其他线程做了更新,则当前线程什么都不做。最后,CAS返回
2017-05-11 17:09:35
315
转载 高并发Java 三 Java内存模型和线程安全
网上很多资料在描述Java内存模型的时候,都会介绍有一个主存,然后每个工作线程有自己的工作内存。数据在主存中会有一份,在工作内存中也有一份。工作内存和主存之间会有各种原子操作去进行同步。下图来源于这篇Blog但是由于Java版本的不断演变,内存模型也进行了改变。本文只讲述Java内存模型的一些特性,无论是新的内存模型还是旧的内存模型,在明白了这些特性以后,看起来也会更加清晰。1
2017-05-11 16:58:49
516
转载 高并发Java 二 多线程基
1. 什么是线程线程是进程内的执行单元某个进程当中都有若干个线程。线程是进程内的执行单元。使用线程的原因是,进程的切换是非常重量级的操作,非常消耗资源。如果使用多进程,那么并发数相对来说不会很高。而线程是更细小的调度单元,更加轻量级,所以线程会较为广泛的用于并发设计。在Java当中线程的概念和操作系统级别线程的概念是类似的。事实上,Jvm将会把Java中的线程映射到操作系统
2017-05-11 16:47:23
579
转载 高并发Java 一
1、关于高并发的几个重要概念1.1 同步和异步首先这里说的同步和异步是指函数/方法调用方面。很明显,同步调用会等待方法的返回,异步调用会瞬间返回,但是异步调用瞬间返回并不代表你的任务就完成了,他会在后台起个线程继续进行任务。1.2 并发和并行并发和并行在外在表象来说,是差不多的。由图所示,并行则是两个任务同时进行,而并发呢,则是一会做一个任务一会又切换做另一个任
2017-05-11 16:44:06
347
原创 logback 配置不同级别日志输出
logback节点配置详解请参考:http://www.cnblogs.com/DeepLearing/p/5663178.html 配置不同级别日志输出模板如下: ${log.pattern} ${log.filePath}/debug.log ${log.filePath}/debug
2017-03-31 16:50:39
26152
原创 windows上写的脚本,结果到linux上运行报错
原因:出现这种错误的原因是因为:CR/LF问题,在dos/window下按一次回车键实际上输入的是“回车(CR)”和“换行(LF)”,而Linux/unix下按一次回车键只输入“换行(LF)”,所以修改的sh文件在每行都会多了一个CR,所以Linux下运行时就会报错找不到命令。解决办法如下:vi xx.sh:set ff?可能会显示fileformat=dos,再用这个
2017-03-15 11:37:46
1732
转载 大型网站架构-lvs为何不能完全替代DNS轮询
部分同学持这样的观点:1)nginx前端加入lvs和keepalived可以替代“DNS轮询”2)F5能搞定接入层高可用、扩展性、负载均衡,可以替代“DNS轮询”“DNS轮询”究竟是不是过时的技术,是不是可以被其他方案替代,接入层架构技术演进,是本文将要细致讨论的内容。 一、问题域nginx、lvs、keepalived、f5、DNS轮询,每每提到这些技术,往往讨论的是接入
2017-01-12 09:37:27
1249
转载 openstack neutron基本原理
分享正文大家好,很高兴今天能与大家分享一些Neutron的知识。今天分享的思路是:OpenStack网络基础、Neutron的软件实现、Nova虚拟机启动时的网络处理以及OVS流表分析。一、Openstack网络基础下面对Openstack和Neutron的介绍,要从几个关键词入手。1. 三代网络在网络这一口,OpenStack经历了由nova-network到
2016-12-23 14:34:31
12215
1
转载 openstack neutron软件架构
综述众所周知,OpenStack 是目前开源界第二大的项目,参与的厂商之多可谓少见,实属发展的分布式系统软件大作,面对这么一个项目,我用自己在网络方面的经验与大家分享以 Neutron 为例的 OpenStack 软件设计。Neutron 简介Neutron 是 OpenStack 的虚拟网络组件,用洋气点的话说,就是一个 SDN 控制器。为什么我们需要虚拟网络?过去我
2016-12-23 14:32:34
559
原创 centos7+pacemaker+corosync+haproxy实现高可用
1.架构准备 系统是centos7-1511,实验需要准备4台主机,虚拟机也行,架构如下:2 .系统环境配置ha1:192.168.0.11ha2:192.168.0.12以下的安装配置分别在这2台机器上进行。1.关闭防火墙和SELinuxsystemctl disable firewalldsystemctl stop firewalldiptables –F
2016-09-20 16:19:12
8217
1
原创 Oracle 释放(恢复)数据文件大小
今天在测试数据量占用磁盘空间大小的时候遇到问题,当插入大量数据进入数据库后,数据文件变大,但是删除以后,数据文件大小不变,这里有解决办法。经查阅资料之后发现这是 Oracle “高水位”所致,那么怎么把这些数据文件的大小降下来呢?概念:表空间的相关知识请见这里http://www.cnblogs.com/fnng/archive/2012/08/12/2634485.html,
2016-04-25 11:09:12
758
原创 tomcat真正热部署,不重启,简单。
这里讲一下eclipse里面用的项目实现tomcat的热部署方式,改变java文件和jsp即时生效。web项目部署到tomcat部分简单,这里讲一下如何实现热部署。主要是修改tomcat的部署方式,如下图这个Server Options的选项修改为第一个Serve modules without publishing,这样不会复制项目到tomcat的部署目录。下面就可以直接修改
2015-11-12 13:34:50
27997
charles-proxy-4.5.5-win64.zip
2019-12-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人