自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

nano-dhh

~~~

  • 博客(181)
  • 资源 (19)
  • 问答 (1)
  • 收藏
  • 关注

原创 多线程异步执行

有时候,我们程序中需要执行一些对返回结果无影响的操作,或者耗时比较长的操作,如果这时我们直接将这些操作放在接口中执行,将会对返回结果的及时性产生较大的影响,或者我们有时需要过一定的时间间隔再执行这项任务,这时我们可以考虑在程序中专门运行几个线程去异步执行这些方法。如果常用的,保存用户登录记录、用户登录、注册时进行的奖励操作(eg.加积分)、注册延迟多少秒发奖励、写金币积分的转移记录等这种需求可能存...

2018-03-02 15:22:45 4614

原创 树结构==>查询实现屏蔽字功能

我最熟悉的是二叉树,最经典的是存的数字,一个节点Node,里面有个存储值的字段valuepublic class Node{ private String value; private Node left; private Node right;}一个左节点Node,一个右节点Node.1、在构建二叉树的时候,在添加一个节点的时候,先比较这个节点的value值和根节点value值的大小,小...

2018-03-02 15:19:50 953

原创 返回多个值的两个bean结构定义

有时候方法要返回两个值,后者多个值,用下面定义的bean结构可以很快的构建出来:package com.clou.douliu.server.bean;import java.io.Serializable;/** * 值对 * 方法需要返回两个值时,可使用Pair减少代码量 * @author rabbit * * @param <F> * @param <...

2018-03-02 15:18:12 711

原创 图片存储--Linux创建快捷方式

项目没有采用阿里云的OSS,直接将图片存储在ECS中,挂载到专门一个网盘中。项目应用服务器采用的是tomcat, 这就需要将图片的路径放到tomcat webapps ,或者放在项目的根目录,这时就需要在项目目录中创建图片的快捷方式。创建代码:ln -s 源目录 目标快捷方式[root@iZ94mvb4k9rZ dreamrunner]# ln -s /home/douliuicons/share...

2018-03-02 15:17:34 436

原创 数据库MySql隧道连接

数据库安全配置:默认情况下Mysql只允许本地进入设置,在外网想通过命令行访问mysql,那是没门的,如果需要外部IP连接到mysql,需要向mysql数据库里的“user”表里添加相关授权。1、grant语法:grant 权限名(所有的权限用all) on 库名(*全部).表名(*全部) to  '要授权的用户名'  @ '%' (%表示所有的IP,可以只写一个IP) identified by...

2018-03-02 15:15:07 2986

原创 Linux常用命令

vim命令G跳到最后一行, g跳到第一行 查询:用/和?的区别: /后跟查找的字符串。vim会显示文本中第一个出现的字符串。 ?后跟查找的字符串。vim会显示文本中最后一个出现的字符串。 二、注意事项: 不管用/还是?查找到第一个字符串后,按回车,vim会高亮所有的匹配文 查看内存值 [shengx@iZ945fbqwpnZ logs]$ free -m ...

2018-03-02 15:08:50 284

转载 简单工厂模式 ~ 抽象工厂模式

简单工厂模式1. 目的         工厂模式就是专门负责将大量有共同接口的类实例化,而且不必事先知道每次是要实例化哪一个类的模式。它定义一个用于创建对象的接口,由子类决定实例化哪一个类。2 . 简单工厂模式的结构  3. 一个简单例子// 产品接口 public interface Product { public void getName(); ...

2018-03-02 15:07:25 213

转载 MySQL中进行树状所有子节点的查询

转自:http://blog.csdn.net/ACMAIN_CHM/article/details/4142971在Oracle 中我们知道有一个 Hierarchical Queries 通过CONNECT BY 我们可以方便的查了所有当前节点下的所有子节点。但很遗憾,在MySQL的目前版本中还没有对应的功能。 在MySQL中如果是有限的层次,比如我们事先如果可以确定这个树的最大深度是4, 那...

2018-03-02 15:06:46 4415

原创 tomcat访问记录日志

每一次请求(包括静态文件请求)都会在打印到日志文件中去<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> <Alias&gt

2018-03-02 15:06:04 819

原创 我的粘贴板(一)-前端

1、xml防止数据出现关键字符:<id>" + u.getId() + "</id><name><![CDATA[" + u.getName() + "]]></name>2、get提交乱码处理思路:function verify() { //解决中文乱麻问题的方法1,页面端发出的数据作一次encodeURI,服务器段使用

2018-03-02 15:04:10 848

原创 操作系统一些玩法/去空行

1、MyEclipse中去除空行Find : ^\s*\nReplace With: 2、windows 8 关机命令:cmd -- >  Shutdown.exe -s -t 3600   一个小时关机3、dos调出服务:cmd -- > services.msc4、端口排查思路:C:\Windows\system32>netstat -aon|findstr "3306"  ...

2018-03-02 15:00:09 664

原创 线程之间通讯--wait和notify

使用wait / notify方法实现线程间的通信。(注意这两个方法都是object的类的方法,换句话说java为所有的对象都提供了这两个方法)1 wait 和 notify 必须配合synchronized 关键字使用2wait方法释放锁,notify方法不释放锁。package com.bjsxt.base.conn008;import java.util.ArrayList;impor...

2018-03-02 14:59:16 228

原创 ThreadLocal

threadLocal的作用:ThreadLocal概念:线程局部变量,是一种多线程间并发访问变量的解决方案。与其synchronized等加锁的方式不同,ThreadLocal完全不提供锁,而使用以空间换时间的手段,为每个线程提供变量的独立副本,以保障线程安全。从性能上说,ThreadLocal不具有绝对的优势,在并发不是很高的时候,加锁的性能会更好,但作为一套与锁完全无关的线程安全解决方案,在...

2018-03-02 14:59:01 2863 1

原创 单例模式--两种最优设计

单例模式,最常见的就是饥饿模式,和懒汉模式,一个直接实例化对象,一个在调用方法时进行实例化对象。饥饿模式:很饿,立即实例化对象懒汉模式:很懒,用的时候才实例化对象考虑到性能和线程安全问题,我们一般选择下面两种比较经典的单例模式,在性能提高的同时,又保证了线程安全dubble check instance static inner class双重检查:package com.bjsxt.base.c...

2018-03-02 14:58:47 1236

原创 并发类容器

一、传统同步容器的缺陷:同步类容器:如古老的Vector、HashTable。这些容器的同步功能其实都是有JDK的Collections.synchronized***等工厂方法去创建实现的。其底层的机制无非就是用传统的synchronized关键字对每个公用的方法都进行同步,使得每次只能有一个线程访问容器的状态。因而状态都是串行化的。他们虽然实现了线程安全,但是严重降低了并发性,在多线程环境时,...

2018-03-02 14:58:28 307

原创 经典多线程设计模式(重要)

一、Future模式思想:当service(Main方法模拟)请求一个数据的时候,可以先给他返回一个包装类(空壳,代理对象,未来data,FutureData)然后开一个线程去异步加载真实数据,这样当service收到FutrueData,就可以做其他业务逻辑,当要用的时候,再从FutureData中的方法去加载真实数据。(类似ajax的思想)启动程序:模拟一个请求/** * 模拟一个servi...

2018-03-02 14:57:53 3699 1

原创 Executor框架

Executor框架:为了更好的控制多线程,JDK提供了一套线程框架Executor,帮助开发人员有效地进行线程控制。它们都在java.util.concurrent包中,是JDK并发包的核心。其中有一个比较重要的类:Executors,他扮演这线程工厂的角色,我们通过Executors可以创建特定功能的线程池。Executors创建线程池方法:newFixedThreadPool(count)方...

2018-03-02 14:57:21 279

原创 CountDownLatch、CyclicBarrier、Semaphore

CountDownLacth(倒计时闩):个人理解:使用同一个CountDownLacth的多个线程,可以使用CountDownLacth提供的await方法,实现阻塞等待,需要其他线程调用CountDownLacth提供的countDown方法来唤醒它,CountDownLacth有构造函数,如果传入2,那么就要两个其他线程调用countDown方法来唤醒它。场景:经常用于监听某些初始化操作,等...

2018-03-02 14:57:09 349

原创 锁机制

概述:在java多线程中,有synchronized关键字来实现线程间的同步互斥工作,那么其实还有一个更优秀的机制去完成这个“同步互斥”工作,他就是Lock对象,用得最多的是重入锁ReentrantLock和读写锁ReentrantReadWriteLock。他们具有比synchronized更为强大的功能,并且有嗅探锁定、多路分支等功能。重入锁ReentrantLock:在需要进行同步的代码部分...

2018-03-02 14:56:58 1947

原创 Mysql优化

Mysql variables和status:mysql提供variables参数配置变量和status参数状态变量:所有的mysql配置信息都在variables中,这些值可以修改所有的mysql状态值都在status表中,这些值不能修改,只能查看通过show status命令了解各种sql的执行频率。mysql > show [session|global] status;其中:sess...

2018-03-02 14:56:38 227

原创 网络通讯概念

阻塞和同步概念:按照《Unix网络编程》的划分,IO模型可以分为:阻塞IO、非阻塞IO、IO复用、信号驱动IO和异步IO,按照POSIX标准来划分只分为两类:同步IO和异步IO。如何区分呢?首先一个IO操作其实分成了两个步骤:发起IO请求和实际的IO操作,同步IO和异步IO的区别就在于第二个步骤(IO操作)是否阻塞,如果实际的IO读写阻塞请求进程,那么就是同步IO,因此阻塞IO、非阻塞IO、IO复...

2018-03-02 14:55:23 405

原创 Netty

Netty概述:1、netty是基于Java NIO的网络应用框架,client-server框架2、Netty是一个高性能、异步事件驱动的NIO框架,它提供了对TCP、UDP和文件传输的支持,作为一个异步NIO框架,Netty的所有IO操作都是异步非阻塞的,通过Future-Listener机制,用户可以方便的主动获取或者通过通知机制获得IO操作结果。3、作为当前最流行的NIO框架,Netty在...

2018-03-02 14:55:08 28542 10

原创 tomcat并发峰值,JVM参数查看

Servlet:servlet会在调用(http请求)的时候初始化,在构造函数,或者init中打印一句话可以验证而且只有一个实例,所以如果要在servlet中使用成员变量,要处理并发的问题,避免原始类型,使用原子类型。tomcat后台管理系统:前提需配置管理员账号(conf/tomcat-user.xml):<role rolename="manager-gui"/><role...

2018-03-02 14:54:45 3881

原创 tomcat的一些优化配置

<!-- web.xml中配置静态文件缓存时间 --><!-- 静态文件缓存years、months、weeks、days、hours、minutes、seconds --><filter> <filter-name>ExpiresFilter</filter-name> <filter-class>org.apach...

2018-03-02 14:53:32 365

原创 Intellij Idea 2017.1.3版本个人设置步骤

我的intellij idea 的配置步骤

2017-05-22 00:00:12 12383 1

原创 gbk文件==>utf-8 小工具

在用eclipse引入工程的时候,引入张孝祥老师java高级特性的代码,.java文件格式是ANSI格式的, 包含中文,如果把这些代码引入到工程里面,工程编码格式是utf-8,会出现乱码,所以在引入之前,先将所有的ANSI的文件,改成UTF-8编码格式于是写了一个工具类,将工程源代码路径给程序代码,该工具类会生成UTF-8文件编码格式的文件,存放到目的路径。注意:该工具类主要目的是改变.java文...

2017-04-23 22:12:44 989

原创 spring 事务注解配置以及实践

spring @Transaction 事务注解配置,使用!!

2017-04-19 16:15:49 717

转载 mysql-processlist 显示进程列表

个人体会:有时候修改一个记录特别大的表结构,会执行很长一段时间,这时候锁表状态,其他操作也不能进行,这时候如果要中断,就要processlist命令,把那个操作kill掉。转自:原文出处processlist命令的输出结果显示了有哪些线程在运行,可以帮助识别出有问题的查询语句,两种方式使用这个命令。1.进入mysql/bin目录下输入mysqladmin processlist(关闭某一线程 ki...

2017-04-02 12:46:43 1088

转载 mysql5.5三种binlog日志格式

MySQL 5.5 中对于二进制日志 (binlog)转自:原文地址有3种不同的格式可选:Mixed,Statement,Row,默认格式是 Statement。总结一下这三种格式日志的优缺点。MySQL Replication 复制可以是基于一条语句 (Statement Level) ,也可以是基于一条记录 (Row Level),可以在 MySQL 的配置参数中设定这个复制级别,不同复制级别...

2017-04-01 23:55:28 1550

原创 Mysql 快速回顾

Linux命令:--1、设置临时ip:ifconfig eth0 192.168.10.1--2、mysql登录命令:/usr/local/mysql/bin/mysql -uroot -p123 databaseName;后面可以直接指定数据库databaseName--3、关闭mysql程序:pkill mysql --mysql是服务名,要看/etc/init.d下服务名是m...

2017-03-19 22:38:38 493

原创 centos7配置以及安装mysql5.7

虚拟机使用以及安装mysql的以下步骤和心得

2017-03-17 17:34:28 1893

原创 volatile关键字

volatile概念:volatile关键字的主要作用是使变量在多个线程间可见。volatile的作用:就是强制线程到主内存(共享内存)里去读取变量,而不去线程工作内存区里去读取,从而实现了多个线程间的变量可见。也就是满足线程安全的可见性。理解:在java中,每一个线程都会有一块工作内存区,其中存放着所有线程共享的主内存中的变量值的拷贝。当线程执行时,他在自己的工作内存区中操作这些变量。为了存取一...

2017-03-05 17:53:22 483

原创 Synchronized关键字总结 / ACID

线程安全概念:当多个线程访问某一个类(对象或方法)时,这个类始终都能表现出正确的行为,那么这个类(对象或方法)就是线程安全的。synchronized:可以在任意对象及方法上加锁,而加锁的这段代码称为"互斥区"或"临界区"执行步骤:当多线程访问一个对象的run方法时,会以排队的方式进行处理(这里的排队是按照CPU分配的先后顺序而定的,不是代码执行顺序)一个线程想要执行synchronized修饰的...

2017-03-05 16:23:54 365

原创 SSH、SSM整合一览

一、Hibernate.cfg.xml配置文件:作用:1、配置数据源(hibernate提供的实现方法,与spring整合,会用到第三方数据源,比如C3P0)2、配置hibernate参数3、配置关系映射文件<hibernate-configuration> <session-factory> <!-- 阿里正式库 --> <property ...

2017-02-23 17:10:14 677

原创 Springmvc一览

mvc模型:c:控制层-相当于中转站,中央处理器,负责分配任务,比如struts2的StrutsPrepareAndExecuteFilter,SpringMVC的DispacherServletm:模型层-相当于处理单元,逻辑单元,比如pojo,service,actionv:视图层-jsp,freemarker,excel,pdfSpringMVC的处理流程(围绕DispacherServle...

2017-02-23 17:09:09 656

原创 MyBatis一览

传统jdbc操作数据库的问题:1、数据库连接,使用时创建,不使用立即释放,对数据库进行频繁的开启和关闭,造成数据库资源浪费,性能数据库性能。解决思路:使用数据库连接池管理数据库连接2、将sql语句硬编码到java代码中,如果sql改变,需要重新编译java代码,不利于系统维护解决思路:将sql语句配置在xml配置文件中3、向PreapredStatement中设置参数,对占位符号位置和设置参数值,...

2017-02-23 17:08:19 541

原创 Spring一览

概述4.x:spring 开源轻量级框架(轻量级->依赖的东西少)Spring是一站式框架:spring在javaee三层结构中,每一层都提供了不同的解决技术-web层:springMVC-service: spring的ioc-dao层:spring的jdbcTemplatespring核心:1、aop:Aspect Oriented Programming 面向切面编程:扩展功能不修改源...

2017-02-23 17:07:01 559

原创 Struts2一览

概述(版本:struts2.3.10):框架的底层很多都会用到反射技术过滤器在程序启动的时候创建,创建过滤器会执行init方法()init:加载自带的配置文件和用户创建的struts执行过程以及Action配置:为了方便开发者,在servlet的基础上封装了一些繁杂的操作,比如接收参数,页面跳转等,利用反射技术,开发者只需要在配置文件中配置相应的action即可。struts2就是一个过滤器(im...

2017-02-23 17:05:12 169

原创 Hibernate一览

温故而知新,复习一下Hibernate5.x,个人笔记!!!1、Hibernate 一级缓存1、SessionFactory 初始化很慢,所以项目中一般只有一个sessionFactory.2、Hibernate的二级缓存现在已经基本不适用,使用访问为sessionfactory范围,替代产品为redis等nosql3、Hibernate的一级缓存默认就是打开的4、Hibernate的一级缓存适用...

2017-02-23 17:04:02 422

转载 为什么做java的web开发我们会使用struts2,springMVC和spring这样的框架?

转自:原文链接今年我一直在思考web开发里的前后端分离的问题,到了现在也颇有点心得了,随着这个问题的深入,再加以现在公司很多web项目的控制层的技术框架由struts2迁移到springMVC,我突然有了一个新的疑问无法得到正确的解释,为什么我们现在做java的web开发,会选择struts2或者springMVC这样的框架,而不是使用servlet加jsp这样的技术呢?特别是现在我们web的前端...

2017-01-20 01:03:31 464

html css javascript参考文档chm

html css javascript参考文档chm 1500个前端开发常用JavaScript特效.chm Cascading Style Sheet2.0.chm CSS3.0.chm HTML.chm W3CSchool.chm javascript源码大全 正则表达式.chm ...

2014-09-23

java实现ajax验证用户名

java实现ajax验证用户名,zip包包含action处理代码,以及页面调用后台action方法的代码,值得借鉴

2014-09-23

注册页面常用的正则表达式

//IP地址(***.***.***.***) //邮件(***@***.**) //日期(****-**-**) //邮政编码 //电话号码 //手机号码 //时间(**:**:**) //数字

2014-09-22

ACESS驱动包

该驱动包给可以access 2003 和access 2007使用

2014-09-22

struts2_黎活明.PPT

这是黎活明老师讲的Struts2视频课堂中所用到的PPT,struts2_黎活明.ppt ppt写的很详细,个人感觉非常有价值

2014-09-22

oracle导出序列

介绍了PL/SQL工具,导出oracle序列的方法以及步骤

2014-09-22

java 导出桌面程序 java se桌面程序jar

介绍了java se导出jar包的步骤,以及在导出中遇到的问题以及解决方法

2014-09-22

韩老师(mysql,sql server2000,oracle)数据库驱动

该文件有韩顺平老师讲课用到的数据库(mysql,sqlserver2000,oracle)数据库驱动

2012-11-15

oracle驱动包

java程序连接oracle数据库所需的驱动包

2012-11-03

mysql-connector-java-5.1.6-bin.jar

java程序连接数据库所需的 oracle驱动包

2012-11-03

sqlserver2005驱动包

java程序 连接微软的 sqlserver2005 必须要用到的驱动包 注意是2005

2012-11-03

xml基础(张孝祥xml PPT)

张孝祥老师的xml基础的课堂ppt!!欢迎下载

2012-10-29

Oracle学习总结.doc

常用的oracle数据库的 sql命令 用于复习和查看

2012-10-29

韩顺平老师oracle 听课笔记.pdf

韩顺平老师的课堂笔记 将格式装换成了pdf格式的,方便复习使用

2012-10-29

BIOS中英文对照表

对于想自己修改注册表,但是英文不过关的朋友有益,是一个程序软件,每个字段都有相应的中文翻译!!

2012-10-29

电脑技巧精彩文章100篇

电脑技巧精彩文章包含操作计算机的常用技巧 比如word文档加密 windows关机技巧 让电脑变成小闹钟 网页制作 qq列表的秘密 修改注册表等

2012-10-29

二级公共基础教程

二级基础概念: 数据结构与算法 程序设计基础 数据库设计基础

2012-10-29

dos 命令大全

dos命令大全将常用的dos命令封装到了一起,pdf格式,字迹显示非常清楚,方便读者查看!!!

2012-10-29

win7 破解myeclipse(图解)

详细说明了破解myeclipse软件的步骤

2012-09-04

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

TA关注的人

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