极客神殿

坚持,自由,信仰

一个表单同时提交多条记录

问题背景: 我要在一个表单里同时一次性提交多名乘客的个人信息到SpringMVC,前端HTML和SpringMVC Controller里该如何处理? 第1种方法:表单提交,以字段数组接收; 第2种方法:表单提交,以BeanListModel接收; 第3种方法:将Json对象序列化成Js...

2018-05-11 17:22:36

阅读数:22

评论数:0

基于zookeeper实现分布式锁

一、分布式锁介绍 分布式锁主要用于在分布式环境中保护跨进程、跨主机、跨网络的共享资源实现互斥访问,以达到保证数据的一致性。 二、架构介绍 在介绍使用Zookeeper实现分布式锁之前,首先看当前的系统架构图 三、分布式锁获取思路1.获取分布式锁的总体思路在获取分布式锁的时候在lock...

2017-12-13 16:53:39

阅读数:299

评论数:0

基于zookeeper简单实现分布式锁

这里利用zookeeper的EPHEMERAL_SEQUENTIAL类型节点及watcher机制,来简单实现分布式锁。 主要思想: 1、开启10个线程,在disLocks节点下各自创建名为sub的EPHEMERAL_SEQUENTIAL节点; 2、获取disLocks节点下所有子节点,排序,...

2017-12-13 16:28:38

阅读数:155

评论数:0

Java随机数生产算法

java提供了Math.random()函数,返回一个double类型的随机数,也有util包里的Random类,可以生成double,int,float,long,bytes等随机数。但有些业务需求,往往需要对这些方法做一下封装。比如用固定因子生成32位的3DES算法key值。下面提供一些封装的...

2017-12-12 22:38:55

阅读数:160

评论数:0

3DES加密算法

在日常设计及开发中,为确保数据传输和数据存储的安全,可通过特定的算法,将数据明文加密成复杂的密文。目前主流加密手段大致可分为单向加密和双向加密。 单向加密:通过对数据进行摘要计算生成密文,密文不可逆推还原。算法代表:Base64,MD5,SHA; 双向加密:与单向加密相反,可以把密文逆推还原成明文...

2017-12-12 22:31:55

阅读数:166

评论数:0

JAVA和C# 3DES加密解密

最近 一个项目.net 要调用Java的WEB SERVICE,数据采用3DES加密,涉及到两种语言3DES一致性的问题, 下面分享一下, 这里的KEY采用Base64编码,便用分发,因为Java的Byte范围为-128至127,c#的Byte范围是0-255 核心是确定Mode和Paddi...

2017-12-12 22:24:42

阅读数:263

评论数:0

多线程下载原理及核心代码

假如我们把一个服务器上的文件看作是一个水缸里的水的话,那么多线程下载就相当于从水缸上打了多个小孔,然后塞进去小管道进行抽水。呵呵,也许这个比喻不够准确。多线程下载大致可分为以下几个步骤:一、首先在本地创建一个与服务器文件大小相同的临时文件(这个很好理解,如果我想下个2G的电影,我得给先在本地占用2...

2017-12-11 13:12:56

阅读数:115

评论数:0

什么是JavaConfig

Spring IOC有一个非常核心的概念——Bean。由Spring容器来负责对Bean的实例化,装配和管理。XML是用来描述Bean最为流行的配置方式。Spring可以从XML配置文件中读取任何类型的元数据并自动转换成相应的Java代码。Spring改变了java的编程模式,Spring的下载已...

2017-10-18 22:42:12

阅读数:2346

评论数:1

Netty原理和使用

Netty是一个高性能 事件驱动的异步的非堵塞的IO(NIO)框架,用于建立TCP等底层的连接,基于Netty可以建立高性能的Http服务器。支持HTTP、 WebSocket 、Protobuf、 Binary TCP |和UDP,Netty已经被很多高性能项目作为其Socket底层基础,如Ho...

2017-09-09 11:33:40

阅读数:222

评论数:0

细说 Java NIO

前言:本篇主要用于梳理NIO的相关知识,诸如缓冲区、通道、文件锁、选择器,附带的会说一下IO的知识,因为在某些地方NIO会用到它们。鉴于NIO已经出来甚久,本文旨在总结知识与交流学习,同时若能给他人带来一点帮助,那也是一份意外收获。1、IO (java.io.*)在前面的两篇博客Java之IO流—...

2017-09-08 16:18:20

阅读数:294

评论数:0

SpringBoot启动流程解析

写在前面:由于该系统是底层系统,以微服务形式对外暴露dubbo服务,所以本流程中SpringBoot不基于jetty或者tomcat等容器启动方式发布服务,而是以执行程序方式启动来发布(参考下图keepRunning方法)。本文以调试一个实际的SpringBoot启动程序为例,参考流程中主要类类图...

2017-09-04 14:58:57

阅读数:488

评论数:0

SpringBoot执行流程

基本概述SpringBoot将spring应用的启动流程进行了一个“模板化”的操作,所以我们才能通过SpringApplication.run(XXX.class, args)的方式来进行一站式的启动。其内部逻辑也是个较复杂的过程,下文将对执行流程进行阐述。本流程参考的SpringBoot版本为1...

2017-09-04 09:58:59

阅读数:333

评论数:0

Struts2执行流程及环境搭建

struts2和struts1一样,都是应用在web层的框架,不过,它不是基于struts1升级而来,而是一个基于webWork的全新框架,webWork框架是继struts1之后推出的开源框架。struts2和struts1在体系结构上是有很大差别的,struts2中需要用户实现的组件及元素有:...

2017-08-30 14:50:46

阅读数:410

评论数:0

【Java进阶之网络编程】代码库(三)

HTTP 编程IHTTPRequest.javapublic interface IHTTPRequest { /** * 向指定 url 发送 POST 请求. * * @param url 链接, 必须是 http://www.xxx.com 形式 ...

2017-07-04 13:35:59

阅读数:272

评论数:0

【Java进阶之多线程进阶】代码库(二)

生产者消费者.javaimport java.util.concurrent.LinkedBlockingQueue;public class LocalTest { public static void main(String[] args) { LinkedBlocki...

2017-07-04 13:23:53

阅读数:201

评论数:0

【Java进阶之JVM异常】代码库(一)

DirectMemoryOOM.java/** * DirectMemory 容量可以通过 -XX:MaxDirectMemorySize 指定,如果不指定,则默认与 Java 堆的最大值(-Xmx)一致。 */public class DirectMemoryOOM { privat...

2017-07-04 11:52:01

阅读数:196

评论数:0

【Java基础之网络编程】代码库(七)

单线程下载.java/** * FileOutputStream 类创建输出流对象, 然后使用 write() 方法, 将从输入流获得的网络资源保存到磁盘上, 实现网络资源的单线程下载. **/public void download(String urlAddr) { try { ...

2017-07-04 10:31:00

阅读数:291

评论数:0

【Java基础之数组与集合】代码库(六)

Map映射.java/** * get(Object Key) 方法返回指定键所映射的值 * put(K key, V value) 方法来为集合添加数据 */public class CityMap { public static Map<String, String>...

2017-07-04 10:21:05

阅读数:220

评论数:0

【Java基础之数据库】代码库(五)

Config.javapackage model;public class DatabaseConf { /** * 数据库驱动. */ public static final String URL = "jdbc:mysql://localhost:...

2017-07-03 22:26:57

阅读数:230

评论数:0

【Java基础之事件处理】代码库(四)

实现委托监听机制的三种方式.java//方式一: 将响应事件定义在一个外部类中 import java.awt.*; import javax.swing.*;public class ActionEvent { public static void main(String args[])...

2017-07-03 22:18:36

阅读数:283

评论数:0

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