- 浏览: 3243688 次
- 性别:
- 来自: 深圳
最新评论
-
天使建站:
看这里 这里这篇文章更详细 还有完整的实例演示:js跳出循环: ...
JavaScript break跳出多重循环 -
wuhenliushui:
公钥能改成cer格式么
Java&keytool生成RSA密钥 -
memort:
你的这个是没有服务端吗?
JAVA发送HttpClient请求及接收请求完整代码实例 -
csu03zhanglei:
大牛 。膜拜
利用MySQL去Oracle -
wuzaizhong283:
wuzaizhong283 写道bijian1013 ...
JDK1.5 AtomicLong实例
文章列表
分享一下关于Java网络通讯方面的内容. 下载地址:https://github.com/mldn/echo
Java基础知识:BIO、NIO、AIO三者的技术实现,以及彼此之间的区别
Netty:TCP 程序实现为主,代码的核心:Echo程序模型,通过网络实现一个基础的Echo。
一.BIO模型
同步阻塞IO处理
在程序的开发之中Java里面最小的处理单元就是线程,也就是说每一个线程可以进行IO的处理,在处理之中,该线程无法进行任何的其他操作。
多线程是不可能无限制进行创造的,所以需要去考虑堆线程进行有效的个数控制。
如果产生的线程过多,那么直接的 ...
join()是Thread类的一个方法。根据jdk文档的定义:
public final void join()throws InterruptedException: Waits for this thread to die.
join()方法的作用,是等待这个线程结束
但显然,这样的定义并不清晰。个人认为"Java 7 Concurrency Cookbo ...
在Tomcat中有四种部署Web应用的方式,简要的概括分别是:
(1)利用Tomcat自动部署
(2)利用控制台进行部署
(3)增加自定义的Web部署文件(%Tomcat_Home%\conf\Catalina\localhost\AppName.xml)
(4)手动修改%Tomcat_Home%\conf\server.xml文件来部署web应用
一.利用Tomcat自动部署
利用Tomcat自动部署方式是最简单的、最常用的方式。若一个web应用结构为D:\workspace\WebApp\AppName\WEB-INF\*,只要将一个Web应用的We ...
一.转换关键字
长整型转换为时间类型的关键字:FROM_UNIXTIME(长整型,format)。
时间类型转换为长整型的关键字:UNIX_TIMESTAMP(时间类型)。
二.转换实例
长整型转换为时间类型例子:
select FROM_UNIXTIME(1531692180042/1000,'%Y-%m-%d');
这里要注意:mysql数据库中的长整型,比Java中的长整型少了后面的毫秒数,而我例子中的长整型是在java里面转换的,多了秒后面的毫秒,所以要除以1000,要不然我这条sql的结果就是一个null。
如果长整型是在数据库里的,就无需除以10 ...
在这里是用grade构建工具,基于SpringBoot开发的一个小小的项目实例代码,不排除有问题,但SpringBoot的开发方式大体通过这个小项目可知一二。
项目实例功能简单,仅包括用户管理、图书管理及用户下单购买书,还有基于mockito的单元测试案例。
项目工程代码详见附件《user_springboot_grade_demo.zip》。
Disruptor是什么可以阅读《高性能线程间队列DISRUPTOR简介》一文,下面重点讲讲在实际应用中如何去使用Disruptor。
项目结构如下:
CreateReqEvent.java
package com.bijian.study;
import com.lmax.disruptor.EventFactory;
public class CreateReqEvent {
private String reqStr;
public String getReqStr() {
return reqStr;
...
使用List.contains(Object object)方法判断ArrayList是否包含一个元素对象(针对于对象的属性值相同,但对象地址不同的情况),如果没有重写List<E>的元素对象Object中的equals方法,默认如下:
@Override
public boolean equals(Object o) {
// TODO Auto-generated method stub
return super.equals(o);
}
将导致contains方法始终返回false。
查看ArrayList的contains方法的源码如下:
...
虽然前面两篇文章详细阐述了文件上传,但网上这篇文章还是比较清晰明了,且针对文件超出大小有专门的处理配置和显示页面,特也记录一下。
一.首先是web.xml的配置
<?xml version="1.0" encoding="UTF-8"?>
& ...
上一文《SpringMVC上传文件的三种方式》中,我们知道有三种方式可以实现文件的上传,其中,使用Spring MVC框架可以做到这一点,因为Spring MVC为文件的上传提供了直接的支持,但需要依赖Apache提供Commons FileUpload组件jar包。
下面将继续和大家介绍使用Spring MVC框架来实现文件的上传和下载,本文将做一个项目案例来完整的使用Spring MVC框架实现文件的上传和下载。
一.文件上传概述
文件上传是项目开发中最常见的功能。为了能上传文件,必须将表单的method设置为POST,并将enctype设置为multipart/fo ...
项目结构如下所示:
upload.jsp
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title> ...
最近用到了MyBatis配置多数据源,原以为简单配置下就行了,实际操作后发现还是要费些事的,这里记录下,以作备忘。不多废话,直接上代码,后面会有简单的实现介绍。一.log4j2.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE Configuration>
<Configuration status="info" monitorInterval="5">
<Appenders>
...
在现存的表上存在索引,但此索引并不是唯一索引,但实际上它不会重复,基于业务场景需要将其改为唯一索引。
1.删除原索引
alter table t_table_name drop index idx_order_id;
2.创建唯一索引
alter table t_table_name add unique(order_id);
一.通过注释实现切面编程
工程结构如下:
1.切面类Log.java,前置通知和后置通知以及环绕通知都在这里配置
package com.bijian.study.aop;
import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.Aft ...
一.Java 整体的运行结构以及与 JVM 的关系
ClassLoader的在关键是告诉你,我要进行类加载,而在进行类加载的时候,就一定有一个正常的环境属性CLASSPATH,没有CLASSPATH就无法找到我们的目录所在,这样程序才会跑到JVM中解释运行。
而JVM到底有什么组成结构呢?首先有一个执行引擎,它需要一个本地方法接口,通过本地方法接口调用本地一些资源,比如多线程、磁盘、内存分配等等。本地方法说的再简单一点就是JNI,这个JNI在整个过程里面,它要去调用一个所谓的本地方法库。本地方法库是什么?是由各个操作系统自已定义的一些内容,比如我们现在做一个简单举例,对于JD ...
一.前言
1.常规技术:Spring系统、ORM组件、服务支持;
数据表的CRUD处理(重复且大量的编写),这种开发好像不是开发的感觉。
2.未来的开发人才到底该具备哪些技能—架构师
a.可以完成项目,同时可以很好的沟通;
b.掌握各种常规的开发技术,并且掌握一些服务组件的使用(需要有好的运维);
c.良好的代码设计能力 —— 代码重用与标准设定;
d.非常清楚底层通讯机制,并且可以根据实际的业务需求,进行底层通讯协议的定义;
3.网络通讯的核心思想:请求-回应
网络七层模型: 应用层、表示层、会话层、传输层(数据段)、网络层(数据包)、数据链路层( ...