- 博客(172)
- 收藏
- 关注
原创 java8 stream sort排序
集合对象为订单对象,主键、订单号、订单类型、总金额public class OrderInfo { private Integer id; private String orderNo; private Integer type; private Double total; public OrderInfo(Integer id,String orderNo,Integer type,Double total){ this.id = i
2020-11-17 22:19:38 5891 3
原创 【ZooKeeper】- 数据结构
ZooKeeper是一个与Unix文件系统很类似的结构,如下图,名称是由斜线(/)分隔得一系列路径,ZooKeeper的每一个节点都有一个路径标识。 这棵树由节点组成,每个节点称为ZNode。ZNode引用方式是路径引用,比如/app1/p_1,这样的层级结构让每个ZNode都有唯一的路径。1)ZNode组成: 每个ZNode兼具文件和目录...
2019-06-05 16:39:49 508
原创 mybatis 多条件多值批量更新
近来多次用到批量操作,整理记录一下单个条件批量更新:<update id="updateBatch" parameterType="java.util.List"> update mydata_table <trim prefix="set" suffixOverrides=","> <trim pre...
2019-04-11 13:38:52 3634
原创 spring cloud学习 - zuul
Zuul的概念Zuul作为SpringCoud系列的API网关,在一个微服务集群中,Zuul担任的角色既是关口,有一夫当关,万夫莫开的气势,同时也是代理门户。作为关口,它是集群中提供的唯一的外部访问的通道,任何请求,必须通过网关,才能访问集群内部的服务。在访问Zuul时,可以对其进行安全认证、限流熔断等操作,请求处理完毕时,能够完成日志监控等服务。Zuul请求生命周期Zuul提供了一个...
2019-03-15 14:51:21 305 1
转载 Windows下mysql安装
我们有两种安装方式,这里用到的是官方解压绿色版本。解压之后通过windows命令行进行操作,为了避免和可能存在的旧MySQL(如果安装)端口3306冲突我们设置端口号为3309。 MySQL版本 5.7.21 ZIP(319MB)操作系统 windows10 1、在官方下载MySQLhttps://dev.mysql.com/downloads/mysql/ ...
2018-11-29 21:55:08 457 1
原创 Git-创建分支流程
在公司开发项目,都是合作并行进行开发,我们会用到分支。在并行开发的过程中,往往同时存在多个最新代码状态,我们再将代码合并到master上。master分支是Git默认创建的分支,基本上所有开发都以这个分支为中心进行的(可能会有不同,比如有的会建立一个测试的分支和预发布的分支),具体情况根据公司实际来进行建立就OK。 下面这幅图,显示我们创建分支的过程: 1、查看分支git...
2018-06-02 14:20:17 11045 3
转载 IDEA创建项目及上传到github
1.用IDEA创建java项目并跑起来此IDEA版本为151.1创建项目1.2 选择项目类型1.3 填写项目信息1.4 填写maven信息1.5 填写项目名1.6 等待maven初始化项目刚创建项目成功,maven还没初始化完的时候没有src目录,待maven初始化完项目后项目中多了src目录,且控制台提示maven创建项目成功。1.7 设置项目结构1.8 设置项目结构 Facets注意,上面要选...
2018-06-02 11:31:19 652
原创 Git-设置SSH Key
GitHub上连接已有仓库时的认证,是通过使用SSH的公开密钥认证方式进行的。我们首先来创建SSH key,并将其添加到GitHub上。前提是要初始化设置姓名和邮箱地址$ git config --global user.name "GraceSi"$ git config --global user.email "your_email@163.com"1、创建SSH Key...
2018-05-31 20:59:15 6811 7
原创 深入理解JVM-性能监控工具
在了解一些JVM的基础之上,我们在给系统定位问题的时候呢,还需要特别好的工具来帮助我们进行分析和查找问题。JDk安装完成后,在${JAVA_HOME}/bin目录下,是java自带的一些监控工具。1、jps:虚拟机进程状况工具 jps:显示当前系统的java进程情况 jps [options] [hostid]选项 作用 -q 只输出 LVMID,省略主类的名称...
2018-05-06 17:46:22 746
原创 redis安装-致命错误:jemalloc/jemalloc.h:没有那个文件或目录
最近在研究redis的使用,发现安装redis时出现了该错误:执行命令: make MALLOC=libc
2018-03-22 12:46:57 3488
原创 mysql启动报错
公司使用mysql,元旦节日前使用的非常好,节日后也不工作了,发现mysql不工作了。查找发现mysql未启动,而且输入启动命令,启动不成功。问题如下图:于是按照提示进行如下操作,发现也看不出问题在哪? Systemctl status mysqld.service?.mysqld.service - SYSV: MySQL database server. Loa
2018-01-02 21:17:07 4278 3
原创 Mybatis中$和#区别
一、总结: #{ }:占位符,防止sql注入 ${ }:sql拼接符号二、分析: 动态sql是mybatis的强大的特性之一。mybatis在对sql语句进行预编译之前会对sql进行动态解析,解析为一个BoundSql对象,也是在此处对动态SQL进行处理。 在动态SQL解析中,#{ }和${ }不同: #{ }解析为JDBC预编译语
2017-10-09 20:47:15 1436
原创 mybatis-动态sql语句-if用法
上一篇,初步了解了一下mybatis----mybatis-简介,我们已经了解mybatis进行调用的过程,这一次主要来说如何进行动态sql语句的拼写,这次主要讲解if的应用。查询:咱们接着上一篇博客说,依然选用根据模糊查询或邮箱查询 select user_name "userName", user_pa
2017-08-27 15:50:08 18066 10
原创 mybatis-简介
mybatis是一款优秀的支持自定义sql查询、存储过程和高级映射的持久层框架,消除了jdbc的手动配置。mybatis支持XML或注解进行配置和映射,将参数映射到配置的sql形成最终执行的SQL语句,最终将结果映射到Java对象返回。 与Hibernate相比,它将sql的定义交给了程序员,要更加灵活。与JDBC相比,它简化了相关代码,sql语句再一行代码中就能执行。
2017-08-16 22:58:51 765 4
原创 springmvc常用注解
一直在使用springmvc,今天来总结一下在项目中经常使用到的注解,可以对知识有一个很好的梳理。1、@Controller 用于标记在一个类上,使用它标记的一个类就是一个SpringMVC Controller对象。DispatcherServlet(前端控制器)会扫描使用了该注解的类的方法。@Controller只是定义了一个控制器类,并不能处理请求(真正处理请求的是@Request
2017-08-12 23:05:37 567 2
原创 ssh框架整合
废话也不多说,就直接看如何整合ssh框架,我搭建使用的IDEA,只需要配置好JDK并安装maven,我们就可以轻松来整合ssh框架。整合的第一步就是需要建立一个用maven管理的web项目。1、创建maven的web项目(这是其中最重要的一步,选择webapp) 项目结构如上图(没有存放Java文件的地方,自己建立一个java的包就可以了)2、
2017-08-07 20:20:37 782 2
原创 并行-携带返回结果的Guarded Suspension模式
上篇博客已经讲解了Guarded Suspension模式使用用户请求队列,可有序地对客户申请进行处理,但是客户进程的Request不能获得服务进程的返回结果。如果客户端要求必须有返回值时,这个模式就不适用了。这时我们就可以考虑使用之前讲过的Future模式,对Guarded Suspension模式进行扩展。
2017-08-02 22:48:18 466 5
原创 并行-Guarded Suspension模式
核心思想: Guarded Suspension的意思是暂停保护,该模式的核心思想是仅当服务器准备好时,才提供服务。就是当大量客户请求到来,而我们不能放弃任何一个请求,必须让客户请求排队,由服务器一个一个去处理。适用场景: 服务器请求多,但服务器程序不能丢弃任何一个客户的请求。 Guarded Suspension模式:既可以最大
2017-07-31 14:02:32 591 15
原创 并行-Master-Worker模式
master-worker模式,我们生活中有很多这样的例子,比如一个小组会有一个组长,组长负责给每个人分配任务,也监控每个人的工作情况。Master-Worker模式是常用的并行模式,它的核心思想是,系统由两个重要角色组成,一个为Master,用于任务的分配和最终结果的合成;一个为Worker,用于实际处理一个任务。
2017-07-30 09:00:35 795 14
原创 Centos7使用rpm包安装mysql5.7.18
最近一直使用mysql,mysql-Linux下安装写了使用其他方式安装mysql,这次主要采用rpm格式来安装,试了一下感觉这种安装模式比较简单。卸载MariaDBcentos7默认安装MariaDB而不是mysql,可能MariaDB数据库和mysql会冲突,故先卸载MariaDB。 1、查看已安装MariaDB相关的包 rp
2017-07-17 09:14:13 3862 24
原创 mongodb数据库自动备份
数据对我们现在应用系统越来越重要,这就驱使我们必须去做的一件事就是冗余备份,保证数据的完整性和可恢复性。既然如此重要,我们就必须去备份,但如果手动去做的话,不仅浪费时间,也可能导致数据丢失。最好的方式当然是自动实现备份,本次主要说mongodb数据库的自动备份。 实现思路: 1)创建备份文件存放的文件夹 2)编译脚本实现备份
2017-07-09 09:37:43 2981 23
转载 Linux学习之CentOS(十三)--CentOS6.4下Mysql数据库的安装与配置
如果要在Linux上做j2ee开发,首先得搭建好j2ee的开发环境,包括了jdk、tomcat、eclipse的安装(这个在之前的一篇随笔中已经有详细讲解了Linux学习之CentOS(七)--CentOS下j2ee环境搭建),如果要开发web项目,我们当然可以安装一个myeclipse到Linux系统上去,这个安装方法和安装eclipse完全相同,就没有记录下来了,有了jdk、tomcat、ec
2017-06-25 11:19:07 1682 13
原创 mysql-Linux下安装
1、下载地址 https://cdn.mysql.com/archives/mysql-5.6/mysql-5.6.27-linux-glibc2.5-x86_64.tar.gz2、将压缩包上传到服务器 3、解压 tar -zxf mysql-5.6.27-linux-glibc2.5-x86_64.tar.gz4、移动压缩
2017-06-25 10:02:43 804 14
原创 mysql--慢查询
上篇博客已经列举了我们经常要用到的查询mysql状态的命令,当我们查看数据库状态一切正常时,此时某些查询还是很慢,我们就需要去找到这些慢查询,下面先了解什么是慢查询。
2017-06-18 09:11:15 973 57
原创 mysql--查看mysql状态的常用命令
mysql优化的第一步就是要知道查询mysql服务的状态,之后再定位慢查询。 执行show status命令后将会列出300个关于mysql状态的参数,我们常用的也就那么几个。 列举了一些常用命令代表的含义: Aborted_clients 由于客户没有正确关闭连接已经死掉,已经放弃的连接数量. Aborted_c
2017-06-09 17:30:04 3109 13
原创 mysql--explain分析
如果你发现一条sql语句执行的特别慢时,你会怎么做呢?mysql中我们可以使用explain来分析sql的执行效率。那么在使用之前,先来了解一下如何查看执行explain后,给我们的分析结果。 先来看一个例子吧,这样可以有一个宏观的认识。 查看分析结果,发现上图中列出了很多项分析,我们逐个了解各个含义。 1、id 数据库为执行的sql语句进行的
2017-06-04 11:53:05 1166 15
原创 sql中exists和not exists用法
之所以要说这个问题,是因为项目中用到了not exists,但两者写的语句只有一点差别,结果一个有问题了,一个没问题。具体问题下面详细说明,先来看看exists如何应用。exists: 强调的是是否有返回集,不需知道具体返回的是什么,比如: SELECT * FROM customer WHERE not
2017-05-14 11:16:54 102661 16
原创 深入理解JVM-类加载
1、为什么使用类加载器? 类加载过程都是在运行时完成的,这个过程会增加系统性能的开销,但能够带来灵活性。我们可以在运行期间,通过类加载器, 在程序运行时加载一些class文件。2、类加载过程? 使用Java编译器将java文件编译为class文件,这个过程不再详细叙述。主要说明我们如何利用这些编译好的 class文件。 JVM将class文...
2017-05-07 22:49:22 612 8
原创 深入理解JVM-内存模型
最近一直在研究这个JVM,看了一本书《深入理解Java虚拟机》,来记录一下这一段的学习历程。Java虚拟机内存分析,初研究感觉好像很难理解,其实跟日常我们编程有很大的关系,理解Java虚拟机对我们提升代码质量也有很大的帮助。 JVM虚拟机运行时数据区: 程序计数器: 一块较小的内存空间,可看作是当前线程执行的字节码的行号指示器。 ...
2017-04-30 21:08:33 826 10
原创 oracle创建数据库
之前使用mysql比较多,所以相对要熟悉些,最近在使用oracle,简单记录一下oracle创建数据库的步骤,方便以后查阅。
2017-04-15 15:58:56 2146 13
原创 Oracle/mysql中日期函数
最近在项目中使用oracle数据库,发现oracle跟mysql中函数还是有一些差别的,整理一下关于日期函数的使用。
2017-04-11 13:01:06 9096 10
原创 IDEA中设置main方法自动补全
之前一直在使用eclipse,但使用那么久,感觉还是由一些缺陷,最近正转向使用IDEA,但对于一些快捷键的使用还不是很明白,就自己有时间就研究一下,这次主要介绍的是main方法自动补全,IDEA默认不支持该功能。自己记录一下,也是一个积累。1、选择setting设置-->Editor--->Live Templates 2、点击删除中添加,如下图 3、
2017-03-18 21:08:39 8198 14
原创 Linux下安装mongodb
最近一直在用mongodb,所以就简单写一篇总结,记录一下过程。1、下载mongodb稳定版本的安装包 https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.4.2.tgz2、解压缩 tar -zxvf mongodb-linux-x86_64-3.4.2.tgz 3、重命名文件
2017-03-12 21:29:13 600
原创 文件下载显示进度条
文件下载网络上下载资源,当文件比较小的时候,没有显示进度,可能看不出来什么,但当文件内容比较大,显示出进度条,这样就更加贴切的让用户感到文件下载的状况。 现在先做一个小例子,主要是现在控制台输出文件下载的进度。 package com.tgb.demo;import java.io.File;import java.io.IOException;import java.i
2017-03-05 21:24:55 15130 11
原创 SpringMVC下压缩文件下载
最近在做文件下载的功能,由于下载的是图片,内容比较大,所以需要先在服务器端进行压缩,压缩后下载到用户本地。 文件下载的步骤: 1)在服务器端建立一个临时压缩文件 2)找到文件路径,用JDK自带的API进行文件压缩 3)将zip文件下载,文件流输出 4)删除服务器端临时文件 文件下载:
2017-02-26 21:28:03 3622 16
原创 Linux下安装Tomcat
Tomcat安装过程:1、下载tomcat 地址 http://tomcat.apache.org/download-60.cgi2、上传到/root目录下3、解压 tar -zxvf apache-tomcat-7.0.73.tar.gz4、拷贝tomcat cp apache-tomcat-7.0.73 /usr/lo
2017-02-13 19:55:51 699 15
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人