- 博客(30)
- 收藏
- 关注
原创 zookeeper分布式锁的实现
如题,使用zookeeper实现分布式锁时隔多日又来水文章了,距离上一篇好像过去很久了,现在回头看看之前写的那些东西,只能称之为“垃圾”。今天分享一个基于zookeeper实现的分布式锁简单案例,此案例仅实现了分布式锁的功能,代码优化等一概不扯。下面先来聊聊其实现的核心思想:首先用到zookeeper中的两个重要知识点:1、zookeeper中的节点类型:临时节点、临时有序节点、持久节点、持久有序节点。临时节点跟session关联。2、zookeeper的watch。以上两点就是实现分布式锁的核
2021-05-21 19:15:27
609
原创 jvm学习笔记之class文件的加载、初始化
编写的java文件在要真正运行时,会首先被编译成 “.class"结尾的二进制文件,然后被虚拟机加载。那么在虚拟机中一个class文件要成为java实例,需要经历好几个步骤:1、装载:装载阶段由三个基本动作完成,要装载一个类型,java虚拟机必须: (1)通过该类型的完全限定名,产生一个代表该类型的二进制数据流 (2)解析这个二进制数据流为方法区内的内部数据结构 (3)创建一...
2019-08-28 09:09:07
899
1
原创 springboot webservice
这里使用的springboot版本是2.0.0,cxf的版本是3.1.12。之前在做这个demo时,因为springboot版本的问题,掉在坑里许久出不来。最开始使用springboot2.1.15版本,一直在报错,所以先声明版本。这个demo比较简单一个服务端生成webservice服务,一个客户端调用webservice服务服务端pom.xml<?xml version="...
2019-06-11 01:21:58
833
原创 springmvc+ajax实现多文件上传
这里使用了springboot项目html页面<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title> <script src="js/jquery-3.3.1.js" >...
2019-05-22 23:24:44
1165
原创 jms篇之spring整合activeMq
消息队列在实际开发应用中,跨应用间通信,发送消息等,通史也可起到很好的削峰填谷的作用。下面是基于activeMq的两种开发,第一种用原生的jms接口,第二种使用spring对mq进行整合pom.xml<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/...
2019-05-07 15:13:01
157
原创 使用java操作excel表格
最近在项目中遇到一个,需要读取指定excel模板文件,并将查询的数据写入模板中,并返回下载实现思路:1、因为模板具有固定格式,所以每次先读取模板文件,将动态数据区先进行格式化清空2、将查询到的数据写入excel文件中,写入完成后保存模板文件。3、获取写入数据后的模板文件生成输入输出流用于下载***这里为什么要多一步将数据写回又进行读取的操作,因为模板具有固定格式,如果直接在读入...
2019-04-15 09:30:20
431
原创 try-catch相关笔记
try-catch-finally,常用来处理可能抛出异常的代码,在catch中对异常进行处理。在catch中的处理可分为两类:1、将异常抛出,抛出之前可进行相关操作,也可在finally中进行相关的异常处理操作2、将异常处理掉,不进行抛出。--不中断程序的运行,将异常处理掉、进行打印或者记录到日志中---将异常处理掉的代码,不会终止线程的运行package com.test...
2019-01-30 09:57:32
193
原创 ajax+springmvc 解决跨域问题
跨域:根据浏览器的同源策略,浏览器从一个域名的网页去请求另一个域名的资源时,域名、端口、协议任一不同,都是跨域 。解决办法:jsonp跨域,只支持get请求jsp 代码:<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%String path = request.getCo...
2018-11-08 11:03:27
398
原创 centos7下安装java、tomcat、redis、mysql、maven、nginx等打包带走
之前一直在window下捣鼓这些东西,最近自己搞了台阿里的云服务器。centos7.4的系统,想自己搞个项目玩玩,于是开始了centos下配置环境,部署项目的漫漫长路。在这里将这些常用的软件安装过程进行记录,以便不时之需一、欲成神功,先打根基.之JAVA环境配置:1、下载java文件,自行去官网下载即可,这里用的是1.82、搞到centos中,进行解压:tar -zxvf jd...
2018-10-26 15:29:04
726
原创 dubbo分布式服务,使用maven打jar包
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4...
2018-10-15 15:33:38
918
原创 springmvc上传与下载以及apache poi 整合
springmvc 的文件上传是基于commons-uploadfile的,因此要使用上传文件,需要引入包pom.xml中加入:<!-- https://mvnrepository.com/artifact/commons-io/commons-io --> <dependency> <groupId>commons-io</grou...
2018-10-11 20:28:36
191
原创 Apache POI操作excel表格
首先pom.xml中添加相关依赖:<!-- https://mvnrepository.com/artifact/org.apache.poi/poi-ooxml --><dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</...
2018-10-10 23:44:02
306
原创 dubbo实现的微服务案例
这里的生产者,用来对外提供服务,可配置多个同类服务构成服务集群provider.xml<?xml version="1.0" encoding="UTF-8"?><beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dubbo="http://dubbo.apache.org...
2018-09-28 21:49:09
1222
原创 进阶之 spring中使用自定义注解
通过自定义注解的使用搭配AOP可将技术代码与 业务代码进行有效的拆分,可使代码简洁明了。该demo是基于springboot的一个简单web项目,这里只贴出自定义注解主要的代码,其他部分代码不做赘述。这里要用到 spring中AOP的知识自定义注解类:TestAnnotation 该类中只有两个字段,name、workpackage com.example.demo.testao...
2018-09-19 11:10:35
171
原创 java多线程之ReentrantLock和 Condition
ReentrantLock 是JDK中内置锁,也称可重入锁,API也较为简单。 Condition 可实现 线程间通信,由ReentrantLock 实例产生即 lock.new Condition();下面这个demo模拟最简单的生产者 消费者模式,Add线程模拟生产者执行生产任务,Get任务执行模拟消费者执行消费任务,Task类种有add和get两个方法一个用于生产对象,一个用于消费对...
2018-09-12 11:46:02
175
原创 关于使用itext7生成pdf文件,中文无法显示问题
pom.xml中itextt7的配置:<dependency> <groupId>com.itextpdf</groupId> <artifactId>font-asian</artifactId> <version>7.0.4</version> &
2018-08-07 15:30:08
8734
1
原创 ssm框架整合 spring + springMVC + mybatis
废话不多,先来相关配置文件:pom.xml:<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://mav...
2018-07-31 09:26:09
152
原创 struts2之结合ajax
需要引入struts2的struts2-json-plugin-2.5.10.1.jar包action如下:package com.action;import org.apache.struts2.json.annotations.JSON;import com.bean.User;import com.opensymphony.xwork2.ActionSupport;public ...
2018-07-07 12:35:43
179
原创 struts2之文件上传和下载
一个文件上传和下载的例子,思路:先上传几个文件,然后获取文件列表,列表中每个文件对应一个下载链接文件上传:Action:get/set方法省略package com.action;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import org.apache.str...
2018-07-07 04:24:16
168
原创 java基于JDK的代理
很多情况当不能直接访问目标对象的时候、或者目标对象的方法不能满足我们的需求时,可以生成目标对象的代理对象,从而达到目的。spring中AOP基于两种代理模式:JDK代理模式(需要目标对象实现接口),cglib代理模式(基于类的代理,无需实现接口)。 第一步:定义一个接口package com.proxy;public interface Dog { public void run(...
2018-06-24 21:43:42
230
原创 spring基于hibernate的事务管理xml配置
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.spring
2018-06-24 16:15:33
470
原创 Spring之注解式AOP和jdbc
先来aop代码:package com.aop;import org.aspectj.lang.annotation.After;import org.aspectj.lang.annotation.AfterReturning;import org.aspectj.lang.annotation.Around;import org.aspectj.lang.annotation....
2018-06-19 22:38:49
236
原创 hibernate 之注解方式
hibernate注解方式:实体类:package com.bean;import javax.persistence.Column;import javax.persistence.Entity;import javax.persistence.GeneratedValue;import javax.persistence.Id;import javax.persisten...
2018-06-17 00:41:51
461
原创 Hibernate之三种查询方式和批处理
hibernate的三种查询方式、原生sql、hql、Criteria(标准查询)三种查询方式各有特点、个人对三种方式的一个理解原生sql:需要手动书写sql语句,在sql优化上比其他两种方式要灵活,毕竟自己写sqlhql:hibernate面向对象的一种查询方式,跟数据库中表和字段不直接挂钩,跟实体类和其属性相关,省去了书写sql语句。操作更方便简单Criteria:该方式个人理...
2018-06-17 00:38:44
212
原创 使用struts2注解
package com.action;import org.apache.struts2.convention.annotation.Action;import org.apache.struts2.convention.annotation.Result;import org.apache.struts2.convention.annotation.Results;import co...
2018-06-13 23:26:57
103
原创 用struts2上传文件,
jsp代码部分<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":&
2018-06-13 00:11:07
104
原创 struts2之拦截器
struts2运行原理自定义拦截器:package com.inter;import java.util.Set;import org.apache.struts2.dispatcher.HttpParameters;import com.opensymphony.xwork2.ActionContext;import com.opensymphony.xwork2.ActionInvo...
2018-06-12 21:29:32
121
原创 用ajax和servlet实现搜索框提示
学习了servlet和ajax之后,做了一个简单的搜索框提示,用到了ajax、servlet、和json工具包<!DOCTYPE html><html><head><meta charset="UTF-8"><title>Insert title here</title><style>
2018-06-12 14:41:33
266
原创 servlet注解
servlet注解demopackage com.action;import java.io.IOException;import java.io.PrintWriter;import java.util.Map;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;...
2018-06-12 10:31:04
139
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人