自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

北漂的IT小白菜

妥妥的IT文艺女青年!

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

原创 linux-查看Java进程命令

ps -ef|grep “java” 就可以查询出当前运行了哪些Java进程。从图片中可以看出运行了3个Java程序,一个是Java,一个是rocketmq,另外一个就是zookeeper。

2020-05-21 14:53:44 2283

原创 常用命令

jps -l 查看进程和jar所在位置jps -v查看虚拟机启动jvm参数jstat -gc 7438(进程ID)jstat -gcutil 7438查看gc相关数据。git fetch origin同步远程分支git chekout -b mingzi origin/mingzigit clone -b mingzi origin/mingzigit merge hotfi...

2019-10-24 16:53:25 182

原创 轻松的实现excel导出-springboot环境

之前就一直挺反感写excel导入导出的,也不是说实现起来有多难,而是那一连串的建立表格工作簿,然后循环每一列等文件流操作着实让我喜欢不起来呀。一个偶然的机会,看到国人写了一个xxl-excel的中间件,可以直接拿过来就好。nice。话不多说,直接上代码。1.maven依赖需要说明的是,我这边使用的poi依赖是3.17版本的。 <dependency>...

2019-06-05 16:42:01 912 2

原创 springboot-aop统一处理web请求

@Aspect@Componentpublic class WebLogAspect { private static final Logger logger = LoggerFactory.getLogger(WebLogAspect.class); //打印日志的包名 @Pointcut("execution(public * com.example.profi...

2019-01-09 15:43:34 404 2

原创 springboot-全局捕获异常

在接手一些之前的项目的时候,发现项目中每个controller方法中都写了try catch这样的代码,看的我怪难受的。主要是我接手这个,那我写方法的时候难道也要跟之前一样在每个方法中也来try catch吗?最开始想偷懒的时候,想着写一个AOP统一处理这样的。可是后来又想springboot这样全家桶一样的技术,难道底部没有集成这种东西吗?看了些资料,还真是被我找到了。话不多说,直接上我...

2019-01-09 14:38:00 242 1

原创 Executor框架

最近在看线程池相关的内容,之前总觉得这块很复杂,难以理解,近来跟打通了任督二脉一样,茅塞顿开。话不多说,直接附上最近的一些些收货。Executor这个线程池框架中,有几个很典型的线程池。 1)newCachedThreadPool 是一个可根据需要创建新线程的线程池,但是在以前构造的线程可用时将重用它们。对于执行很多短期异步任务的程序而言,这些线程池通常可提高程序性能。调用 execut...

2018-12-13 16:50:15 172 1

原创 线程-线程间通信

近期,公司环境很不稳定,之前招我的元老级别的人物都陆陆续续的离开了公司。里头的那些弯弯绕绕也就不跟大家吐槽了,我还是静静的做好手边的事情,yuanlai闲着无事整理了线程这块的东西。最让我,感觉神奇的就是线程之间的通信。在实现的发现真的是代码如人生。1.使用wait、notify方法实现线程间的通信2.wait和notify必须配合synchronized关键字使用3.wait方法释放...

2018-12-07 16:32:34 221 1

原创 win10系统微软账号登陆错误报错误码0x80190001

使用onenote同步的时候报出这样的错误。下面给出图文讲解帮助同我一样在这上面花了不少时间的人出现这个原因,我估摸着是自己前阵子使用了自己的翻墙工具更改了dns导致的。知道问题出在了哪里,就容易解决了不是。下一步删除了网络的cookie以后,接下来就是网络的一些基础配置,不用慌,有重置按钮。接下来就是做一个确认的工作,看看微软服务是否正常启动。使用快捷...

2018-11-29 17:40:36 52307 37

原创 数组如何判断是否包含某个元素

String[] msgGroupIds = staffMsgGroupId.split(",");if(Arrays.asList(msgGroupIds).contains(staff.getGroupId().toString())){ //这里写自己的业务代码 }主要是利用Arrays.asList().contains()方法实现。其次,当然也可以使用s...

2018-11-16 11:10:50 349 2

原创 如何判断一个字段的内容是否全为数字

近期在项目中,由于初期设计的不足,需要清洗数据,在清洗字段的时候需要判断一个字段的内容是否全都为数字。select industry_code,industry_name from base_organization where (industry_name REGEXP '[^0-9.]')=0 ;说明:industry_name是varchar类型的,这里是用了正则表达是来判断ind...

2018-11-15 15:05:45 8784

原创 springboot结合mybatis分页工具pageHelper

首先,在pom文件中需要引入相应的jar &lt;dependency&gt; &lt;groupId&gt;com.github.pagehelper&lt;/groupId&gt; &lt;artifactId&gt;pagehelper&lt;/artifactId&gt; &lt;version&gt;5.1.1...

2018-11-13 11:02:54 202

原创 SpringBoot+RabbitMq实现队列消息的发送与消费

在项目中应对一些特殊的需求,冗余了一些个字段,但是这就涉及到了冗余字段数据同步的问题。我这个项目中是冗余了id字段,于是涉及到id字段的增删改的时候都需要同步。公司项目框架是采用的springBoot+springCloud这套东西来做的,这里就springBoot集成rabbitmq做个简单的小demo。首先消息发送端:1.在pom文件中加入rabbitMq的依赖&lt;dep...

2018-11-09 16:26:48 1718

原创 项目上线的思考

 近期项目风风火火的上线了。首先说说这个系统的过人之处。1.整个系统的实用场景很足(项目还没有完成呢,客户就已经排好队了。)2.项目的庞大复杂,而且整个流程都有,市面上鲜少有产品做到。3.公司从产品到开发都是卯足了劲儿想着把系统顺利推上线。4.从注册到组织机构到各业务系统,最后的财务记账都集合于一体,可是说是一个很完整的系统,毕竟市面上很少有将业务系统与财务一起的这种。其次...

2018-11-09 15:25:06 259

原创 Springboot获取上下文ApplicationContext

在项目中遇到了一个场景,就是通过获得上下文然后获取特定的bean。在此遇到了不小的坑,故留下这个篇文章,做个记录。import org.springframework.beans.BeansException;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.c...

2018-09-29 14:03:22 21020 2

原创 springboot项目底层集成jpa规范与mybatis

    你我共知,jpa规范是基于hibernate的,对于单表操作的时候是非常的方便,但是对于多表操作的时候未免有点力不从心,于是在闲暇之余,自己做了一个小小的测试,集成mybatis。当然集成jpa规范在上篇博客中已经有了很详细的解说。如果有想要了解的请看我的上篇博客。    这篇博客的前提是建立在上篇博客的,于是那些个数据库的配置我也就不强调了。    第一步,引入mybatis的相关jar...

2018-04-27 11:28:20 1986 2

原创 jpa初体验

    近期在做项目的时候,项目框架已定,底层都是手写的mapper,哪怕是最最简单的单表增删改,而且在接手这个项目的时候发现,前人在写这个项目的时候没有注意项目的封装性,真是想到哪里写到哪里,没有抽出公共的。于是乎这块但凡加个新的功能,就需要重新写sql,比较的麻烦,维护的时候感觉也很糟糕。    于是想到了之前在前一家公司的时候采取的做法,都是直接用的公共的,有直接使用generator直接生...

2018-04-24 17:21:01 234 2

原创 idea设置自己的代码块

这个简直不要太好用了。 这样配置之后,你在定义String类型的字段的时候,你只要输入psc就可以完成整个配置,而且你输入完注释之后,会自动跳到变量命名的位置。有了这个,以后再也不用担心手动输入注释的时候觉得非常的麻烦了。

2018-01-09 20:42:28 5142

原创 idea连接数据库

近期在开发的时候,在特定的场景下需要来回的看数据,而且之前在idea中看到了database这个按钮,一直没有在意。今天闲下来了,所以就研究了一下这个功能,这感觉几乎可以飞起。点击进入之后,根据需要选择自己需要的数据库。这里需要说明的就是如果你是第一次使用idea连接数据库的,需要下载msql的连接jar包。下面的网址就可以下载。网址:http://

2018-01-09 17:43:29 517

原创 mybatis动态拼接-有条件的插入

最近在做项目的时候遇到了一个很现实的问题,那就是根据场景不同,然后实现有条件的插入,说穿了就是当这列有数据的时候进行数据的插入,没有数据的时候自动忽略这列。其实这些在mybatis的api中有涉及到,但是之前一直没有好好看,直到最近用到了才认真的看了看这块的内容。 insert into base_department_staff

2018-01-02 20:38:34 7273 5

原创 mybatis数据插入之后id带回

先看mapper的接口:再看sql的配置注意点:1.keyProperty=id,这里的id指的是数据库的id列2.userGenerateKeys=true效果:一刚开始自己并不知道还有这种操作,后来基于需求发现原来还可以这样,按照以前的写法那就是插入之后直接去查询库。最近在工作中遇到了一位很有耐心的前辈,发现他真的是很认真,他

2017-12-29 21:07:28 1160 1

原创 spring boot项目热部署

最近在公司开发的时候,遇到一个问题,就是公司项目是spring boot框架的,但是在开发的时候一旦我们要修改代码的时候,总是需要手动的去点击编译开始的按钮,特别的麻烦,所以就在网上找了找相关的材料,发现有个热部署的材料,比较的简单,我试过了,可行。直接在maven的pom文件中加入如下配置 热部署jar-->build> plugins>

2017-12-18 16:25:34 303 1

原创 mybatis批量更新

mapper中的接口:void updataUserId(@Param(value="successList") List successList);mapper文件中的写法update id="updataUserId"> foreach close="" collection="successList" item="item" open="" separat

2017-12-18 11:24:08 272 2

原创 占位

占位中

2017-09-03 11:14:52 301

原创 定时任务quartz

最近在项目选型的时候,我们遇到了一个场景,由于我们是做传统教育行业的,然后教育行业的新生入学,评教等业务都牵涉到了一个定时任务的需求,刚开始有人提议说直接使用队列,但是后来经过衡量,决定使用quartz这个框架来实现这个定时任务的需求。选它的原因:这个技术已经比较的成熟,也有不少的可供参考的资料,后期好维护。好了,废话不多说,直接进入咱们的正题,quartz这个框架可以

2017-08-20 21:39:10 491 2

原创 线程基本概念

阻塞的概念:应用程序在获取网络数据的时候,如果网络数据传输很慢,那么程序就一直等着,直到数据传输完毕为止。非阻塞的概念:应用程序可以直接获取已经准备好就绪的数据,不需要等待(这里的实现涉及到了缓冲区,服务端将数据放入缓冲区,客户端直接从缓冲区中拿数据)。IO和NIO的本质区别就是:阻塞与非阻塞的区别。同步异步的区别:就是看IO读写操作是由谁完成的,如果是应用程序自己完成的那就是同步,如果是操作系统完

2017-08-15 11:19:09 359 3

原创 线程-单例与多线程

众所周知,单例是只在程序运行的时候只有一个实例,在单线程的情况之下单例很容易实现,但是在多线程的时候,如何做到单例呢?第一种方式就是采取静态内部类,看代码展示:package com.tgb.thread;/** * Created by oxj on 2017/8/12. */public class InnerSingleton { private InnerSingleton()

2017-08-12 09:33:54 1746 2

原创 线程-volatile关键字的弊端

volatile的作用:使变量在多个线程间可见,但是不具备原子性,需要注意的是一般volatile用于只针对多个线程可见的变量操作,并不能代替synchronized的同步功能。实例说话:现如今我有一个数据count,10线程对他进行操作,每个线程在count原有的基础上增加100,理想结果应该是10个线程执行完毕之后count是1000,但是实际情况呢……看代码:package com.tgb.t

2017-08-10 11:11:38 1460 1

原创 线程基础1

线程安全的概念:当多个线程访问某个类(对象或者方法)的时候,这个类始终表现出正确的行为,那么这个类(对象或者方法)就是线程安全的。synchronized:可以在任意的对象以及方法上加锁,实现线程互斥。而加锁的这块代码叫做互斥区或者叫做临界区。当多个线程访问线程的run()方法的时候,以排队的方式进行处理(也就是按照CPU分配的先后顺序而定的,并非咱们所写的代码顺序决定的)。多个线程去尝试拿到锁,只

2017-08-09 21:09:58 332 1

原创 zookeeper安装教程(windows的环境)

之前在linux环境下面搭建过zookeeper,这次想做个新的尝试,在windows环境下面搭建。1.首先下载zookeeper的安装包http://download.csdn.net/detail/qq_33666589/9624949当然大家也可以去他们的官网上面下载。2.下载下来之后就解压![解压](http://img.blog.csdn.net/2017080216454444

2017-08-02 16:57:05 577 8

原创 dubbo+zookeeper探索小结

最近这两天一直都在研究dubbo和zookeeper。首先来说说dubbo吧,这个框架是阿里巴巴自己研发的一个微服务框架,产生的背景就是如今的系统做的是越来越大,越来越复杂,我个人觉得dubbo将原来的系统化整体切换成小块小块的服务,更有利于网络传输,更加的高效率和安全。其次就是和zookeeper集合使用可以平滑的添加删除服务提供者。这满足了社会化分工越来越精细的要求。首先在pom文件中配置项

2017-08-02 16:23:53 408 7

原创 代理模式小结

代理模式的作用是:为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个客户不想或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。   再看看代理模式的UML图   代理模式的分类:静态代理和动态代理,其中动态代理分为JDK动态代理和CGLIB动态代理,在本文章中只讲静态代理和JDK动态代理。   在我看来静态代理和动态代

2017-07-30 21:02:45 360 15

原创 快速排序小结

定义:快速排序是由东尼·霍尔所发展的一种排序算法。在平均状况下,排序 n 个项目要Ο(nlogn)次比较。事实上,快速排序通常明显比其他Ο(nlogn) 算法更快,因为它的内部循环(inner loop)可以在大部分的架构上很有效率地被实现出来,并且在大部分真实世界的数据,可以决定设计的选择,减少所需时间的二次方项之可能性。快速排序,通过一趟排序将待排记录分割成独立的两部分,其中一部分记录的关键字

2017-07-23 19:53:11 518 14

原创 jboss小结

之前在部署jboss项目的时候经常遇到这样或者那样的问题,近期正在整理这块的内容,故留下一片博客,供大家借鉴。      jboss的学习资料Jboss和tomcat的对比Jboss的现状Jboss和tomcat的性能比较Jboss集群配置     常见问题以及解决方案问题1: 如果启动出错的话,查看/etc/hosts必须包含以下内容: /etc/

2017-07-16 20:51:48 489 15

原创 dubbo初体验

最近项目用到了dubbo这块的东西,由于之前没有用过,所以在这里总结总结我这几天学习dubbo的一些认识。首先是看看dubbo官方推出dubbo的宣言:看,人家还强调了自己是分布式高性能透明化的RPC服务框架。 接下来就是dubbo究竟能做些什么?1.透明化的远程方法调用,就像调用本地方法一样调用远程方法,只需简单配置,没有任何API侵入。2.软负载均衡及容错机制,

2017-07-09 19:18:49 403 1

原创 网络编程

网络编程

2017-06-25 19:26:55 342 3

原创 【线程】--基础知识

线程的概念:线程是进程中独立运行的子任务。(就例如我们打开任务管理器,进程面板中罗列的都是当前机器上运行的进程,例如其中有个正在运行的qq进程,在qq进程中发送文件到手机上面和跟好朋友聊天,这就是两个不同的线程)。    使用多线程的背景:原来的电脑都是单核的,然后需要CPU根据时间片来轮询每个线程,可这样,效率很低下。随着技术的跟新,如今电脑都是多核的,使用多线程可以提升效率节省

2017-06-19 10:21:35 393 9

原创 nginx知识小结

之前写过一篇关于nginx的反响代理的文章,但那篇也只是简单的介绍了反向代理是怎么回事。对于nginx其他的知识点并没有做一个很好的总结,故这次将这个博客补上。        需要说明的是nginx在反向代理这块做的真心的很不错,但是在负载均衡这块还有待提升,目前负载均衡这块做的比较好的是lvs,http://soft.chinabyte.com/25/13169025.shtml

2017-06-11 08:53:46 438 9

原创 Spring知识小结--AOP

一提到Spring,我的脑子里就闪现两个名词,一个AOP,一个是IOC,下面就让我将最近看spring技术核心内幕的心得跟大家分享分享。                 首先上图一张。AOP面向切面编程,之前一直都不理解什么叫做面向切面编程,咱们现实开发中经常用的是面向接口编程,突然来个这个还真是有点不知所云,随着项目的深入,现在回头来看这个面向切面编程还是挺好理解的。面向切面编程

2017-06-04 21:16:53 479 8

原创 Java集合小结

最近看了一些师哥师姐之前面试的题目,发现其中也不乏对Java基础的一些考察,而且很多人都被问到了集合的这部分的知识点。所以便有了这篇博客,跟大家分享集合这块的知识,欢迎各位大侠各种拍砖。说到集合,集合其实分为两大系列,一个是collection系列的,另外一个则是map系列的。看下面的图大家可能会清楚许多。图清楚了,接下来就是各种对比了呀。例如set,list,map他们三者之间的区别

2017-05-28 19:53:58 439 13

原创 mysql主从复制

当数据访问量过大的时候,缓解数据库访问压力,除了添加缓存机制之外就是搭建数据库集群了,通常是秉着读写分离的原则搭建数据库集群。可这集群搭建好了之后,怎么保证这些个写的数据库里的数据和读的数据库里的数据保证一致呢?             且看下面的图,听我娓娓道来。                          这个土里头的master就是指的负责写的数据库,而slave就是负责读

2017-05-21 21:15:02 348 11

空空如也

空空如也

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

TA关注的人

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