- 博客(28)
- 资源 (5)
- 问答 (6)
- 收藏
- 关注
原创 synchronized对象监视器为Class时的使用
synchronized加到静态方法上或者synchronized(class)代码块是给Class类上锁。Class锁对类的所有对象都其作用。例如:1、创建一个Service类package com.iie;/** * Created by bo on 2018/3/29. */public class Service { synchronized public static...
2018-03-29 22:39:13 594
原创 Centos安装snort
1、安装依赖sudo yum install gcc flex bison zlib zlib-devel libpcap libpcap-devel pcre pcre-devel libdnet libdnet-devel tcpdump2、安装daqyum install https://www.snort.org/downloads/snort/daq-2.0.6-1.centos7.x8...
2018-03-29 14:38:27 1802
原创 synchorinzed对象监视器为Object时的使用
今天学习了java线程同步的synchronized用法,当监视器对象为Object时,总结了如下知识点:synchronized同步方法1、synchorized修饰非静态方法时,synchorinzed获得的锁都是对象锁,而不是把一段代码或方法当作锁,哪个线程先执行synchronized方法,哪个线程就持有该方法所属对象的锁Lock,那么其他线程只能呈等待状态,前提是多个线程访问的是同一个对...
2018-03-28 22:29:31 489
原创 java多线程编程核心技术——第一章学习总结
第一章主要介绍了java怎样创建一个线程及线程的特性,其中有一个Thread类的api比较容易误解。1、currentThread()currentThread()线程返回的是代码段正在被哪个线程调用的信息。public class Run { public static void main(String[] args) throws InterruptedException { ...
2018-03-27 22:31:10 181
原创 java守护线程
在java线程中有两种守护线程,一种是用户线程,另一种是守护线程。守护线程是一种特殊的线程,它的特性有“陪伴”的含义,当进程中不存在非守护线程了,则守护线程自动销毁。典型的守护线程就是垃圾回收线程。只有当最后一个非守护线程结束时,守护线程才随着JVM一同结束工作。例如:定义一个线程在run方法中设置永远不结束,启动后一直执行package com.iie;/** * Created by b...
2018-03-26 22:15:34 184
原创 Nginx+Tomcat实现动静分离
1、首先搭建tomcat环境,从官网下载tomcat,解压,启动。tomcat默认是80端口。2、修改nginx.cnf配置文件,使所有的所有的动态资源请求代理到tomcat,静态资源请求由nginx处理。erver { listen 80; server_name localhost; #charset koi8-r; ...
2018-03-23 15:28:09 1047
原创 动静分离
什么是动静分离为了提高网站的响应速度,减轻程序服务器(Tomcat,Jboss等)的负载,对于静态资源比如图片、js、css等文件,我们可以在反向代理服务器中进行缓存,这样浏览器在请求一个静态资源时,代理服务器就可以直接处理,而不用将请求转发给后端服务器。用户请求的动态文件比如servlet,jsp则转发给Tomcat,Jboss服务器处理,这就是动静分离。这也是反向代理服务器的一个重要的作用。参...
2018-03-23 10:47:56 588
原创 Nginx location匹配规则
1、location匹配命令~ #波浪线表示执行一个正则匹配,区分大小写~* #表示执行一个正则匹配,不区分大小写^~ #^~表示普通字符匹配,如果该选项匹配,只匹配该选项,不匹配别的选项,一般用来匹配目录= #进行普通字符精确匹配@ #"@" 定义一个命名的 location,使用在内部定向时,例如 error_page, try_files2、locat...
2018-03-22 16:04:08 555
原创 linux安装Nginx教程
1、首先到Nginx官网下载Nginx,官网地址:http://nginx.org/en/download.html第二列是linux版本,第四列是win版本,这里我们下载稳定版的linux版本Nginx-1.12.2。2、把下载的Nginx-1.12.1.tar.gz上传到vps上,解压。各个目录介绍如下。src目录:存放Nginx的源代码。man目录:存放Nginx的帮组文档。html目录:存...
2018-03-21 20:25:14 260
原创 彻底解决Spring MVC中文乱码问题
我们在web项目中可能需要传递一些中文的参数,这时如果不进行处理,后台接收到的参数是乱码导致不能获得预期的效果。对于这种情况,首先确保我们jsp页面时utf-8编码。1、对于post请求,我们可以在web.xml配置文件中添加过滤器:<filter> <description>字符编码过滤器</description> <f...
2018-03-21 17:24:44 7140
原创 SpringMVC接收日期类型参数转换
在做Web开发的时候,页面传入的都是String类型参数,SpringMVC可以对一些基本的类型进行转换,但是对于日期类型的转换可能就需要我们配置,大概有3中方式可以实现。1、如果查询类是我们自己写,那么在属性前面加上@DateTimeFormat(pattern="yyyy-MM-dd"),即可将String转换为Date类型,如下:@DateTimeFormat(pattern...
2018-03-21 16:12:58 1066
原创 使用MockMvc测试SpringMVC Controller
概述 对项目进行集成测试时,希望能够通过输入URL对Controller进行测试,如果通过启动服务器,建立http client进行测试,这样会使得测试变得很麻烦,为了测试Controller而不需要启动服务器,我们需要一些Servlet相关的模拟对象,比如MockMVC、MockHttpServletRequest、MockHttpServletResponse、MockHttpS...
2018-03-21 10:03:31 431
原创 java线程安全和不安全
线程安全就是多线程访问时,采用了加锁机制,当一个线程访问该类的某个数据时,进行保护,其他的线程不能进行访问直到该线程读取完,其他线程才可使用。不会出现数据不一致或者数据污染(Vector,HashTable)。线程不安全就是不提供数据访问保护,有可能出现多个线程先后更改数据造成所得到的数据是脏数据(ArrayList,LinkedList、HashMap等)。 如果你的代码所在的进程...
2018-03-20 20:09:31 238
原创 java获取内存及硬盘使用情况
以前,java没有明确的方法来确定一个分区的可用空间。我们使用执行命令:cat /proc/meminfo df -hl来查看内存、硬盘使用情况:root@ubuntu:~# cat /proc/meminfoMemTotal: 3936412 kBMemFree: 1581248 kBMemAvailable: 2814556 kBroot@ub...
2018-03-20 15:36:13 3999 2
原创 Spring整合Junit测试后配置事务
很多时候我们不希望单元测试的结果玷污了数据库,即执行的测试数据不去修改数据库,只需要告诉我们最终的测试结果即可,那么怎样也让我们的单元测试也具有事务功能呢?1、方法级别的在测试方法上添加注解@Rollback(true)。public class FooServiceTest{ @Autowired private FooService fooService; @Test...
2018-03-19 21:39:56 529
原创 Spring Data简介
Spring Data 是Spring 的一个子项目, 旨在统一和简化对各类型持久化存储, 而不拘泥于是关系型数据库还是NoSQL 数据存储。无论是哪种持久化存储, 数据访问对象(或称作为DAO,即Data Access Objects)通常都会提供对单一域对象的CRUD (创建、读取、更新、删除)操作、查询方法、排序和分页方法等。Spring Data则提供了基于这些层面的统一接...
2018-03-19 20:52:20 1016
原创 Mockito单元测试—verify
1、校验方法是否调用Mockito提供vertify关键字来实现校验方法是否被调用,具体调用如下例子:@Test public void update() throws Exception { boolean result = personService.update(1, "new name"); //验证mockDao的getPer是否被调用 ...
2018-03-15 21:39:53 35789 2
转载 网站分析数据(即用户行为数据)的三种收集方式详解
回顾网站数据分析历史,从“您是第***位来访用户”到现在百家齐放的专业工具提供商,网站分析已经逐渐发展衍化成一门科学。但面对形态各异的分析数据,很多人仍然困惑于数据的来源,了解数据的收集原理,也许对你解决这些困惑有所帮助。眼下网站分析数据主要有三种收集方式:Web日志、JavaScript标记和包嗅探器。1. 以Web日志的方式 Web日志收集数据的过程示意图如下: ...
2018-03-15 20:10:49 18553 2
原创 在Ubuntu中永久添加DNS
DNS信息是由/etc/resolv.conf提供的,它是每次开机时,由/sbin/resolvconf生成的。/etc/resolv.conf是/run/resolvconf/resolv.conf的符号链接。 直接修改/etc/resolv.conf文件添加DNS的方法并不可行,因为重启系统后,该配置文件会被重新覆盖。在Ubuntu中有一个resolvconf的服务,这个...
2018-03-15 14:22:59 9744 2
原创 Linux磁盘分区
1、各硬件设备在Linux中文件名在Linux系统中,每个设备都被当作一个文件系统来对待,在Linux系统中几乎所有的设备都会在/dev这个目录内。设备设备在linux的文件名ide硬盘/dev/hd[a-d]SCSI/SATA/USB硬盘/dev/sd[a-p]u盘/dev/sd[a-p]软驱/dev/fd[0-1]打印机25针:/dev/lp[0-2]USB: /dev/usb/lp[0-15...
2018-03-14 20:26:26 207
原创 Linux下安装配置JDK
1、下载jdk首先到oracle官网下载jdk最新版本,32位操作系统下载x86,64位操作系统下载x64.2、解压安装在/usr目录下新建一个java文件夹,并发下载的jdk拷贝到此文件夹下面。cd /usrmkdir javacp jdk /usr/java进入/usr/java目录下,执行解压命令 tar -zxvf jdk.tar.gz。3、配置环境变量执行命令:vim /etc/rc...
2018-03-14 17:21:08 154
原创 mysql操作datetime字段统一加上一星期的时间
mysql操作datetime字段统一加上一周的时间:update test set time = DATE_ADD(time,INTERVAL 7 DAY)
2018-03-14 15:42:31 3121
原创 Ubuntu安装完成后设置root密码
安装完Ubuntu后默认是没有主动设置root密码的,也就无法进入根用户。但我们在安装系统的时候,其中有一步是设置了一个普通的用户及密码。1、使用安装时设置的用户登录,登录后在终端输入命令sudo passwd,回车。根据提示输入密码2、再次输入密码,提示密码已经更新成功。3、注意:这个新密码就是root的密码,可以与当前用户的密码不同。在终端中输入 su root,然后输入root的密码,验证成...
2018-03-14 11:35:47 5781 1
原创 Ubuntu16.04修改网卡名enpXs0为eth
安装完Ubuntu16.04之后,执行ifconfig -a命令,查看网卡信息,结果列出的网卡名称全是enp1s0、enp2s0等这样的名称,从15之后,Ubuntu的网卡命名就已经修改了,看起来很别扭,如果要想改为之前的eth这样的命名,可以通过如下操作。1、修改/etc/default/grub文件sudo vim /etc/default/grub 找到GRUB_CMDLINE_LINUX=...
2018-03-14 11:19:55 2724
原创 Ubuntu 从光盘上读取数据出错,请确认光盘已被放置在驱动中
今天安装Ubuntu Server16.04,使用UltraISO把镜像文件写入到u盘,但是安装时,u盘无法挂载(之前安装的桌面版一直就没遇到过这个问题),网上百度的教程,推荐使用win32diskimager把镜像写入到了盘中。尝试使用下,果然可以。...
2018-03-14 10:22:33 8907 1
原创 mysql错误SQL state [HY000]; error code [1366]; Incorrect string value: '\xF0\xBF\xAA\xB7\xEF\xBF...'
今天在运行程序插入数据库时,出现了如下的bug:org.springframework.jdbc.UncategorizedSQLException: PreparedStatementCallback; uncategorized SQLException for SQL [replace into task_result values(?,?,?,?)]; SQL state [HY000];...
2018-03-07 19:26:07 8607
原创 CentOS安装docker
Docker这两年大受追捧,风光无二。Docker是一个轻量级容器技术,类似于虚拟机技术(xen、kvm、VMware、virtualbox)。Docker是直接运行在当前操作系统(Linux)之上,而不是运行在虚拟机中,但是也实现了虚拟机技术的资源隔离,性能远远高于虚拟机技术。1、CentOS安装sudo yum updatesudo yum install docker2、启动Docker3、...
2018-03-06 19:43:36 921
原创 web单页面应用
1、web多页面与单页面定义网页是多个页面组成的,页面之间的切换是通过超链接完成的,这通常也是最传统的开发模式。单页 Web 应用 (single-page application 简称为 SPA) 是一种特殊的 Web 应用。它将所有的活动局限于一个Web页面中,仅在该Web页面初始化时加载相应的HTML、JavaScript 和 CSS。一旦页面加载完成了,SPA不会因为用户的操作而进行页面的...
2018-03-05 20:46:45 848
redis字符串最大长度限制512M,原理是什么?
2021-01-11
dwg文件在线预览?
2020-12-28
Activity实例运行期间动态添加节点
2020-09-08
工作流,催办设计实现方案?
2020-02-21
编写脚本定时访问系统url,检测各个业务是否正常时,对于需要登录后才能访问的系统怎么办?
2018-03-14
mysql binlog日志中对于特殊字符的ascii编码
2017-12-05
TA创建的收藏夹 TA关注的收藏夹
TA关注的人