java
f6zx3qc123
这个作者很懒,什么都没留下…
展开
-
Java多线程编程-(1)-线程安全和锁Synchronized概念
一、线程和进程的概念(1)进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。在早期面向进程设计的计算机结构中,进程是程序的基本执行实体;在当代面向线程设计的计算机结构中,进程是线程的容器。程序是指令、数据及其组织形式的描述,进程是程序的实体。(2)线程,有时被称为轻量级进程(Lightweight Pro原创 2017-10-17 09:23:01 · 211 阅读 · 0 评论 -
【Shiro】Apache Shiro架构之集成web
Shiro系列文章: 【Shiro】Apache Shiro架构之身份认证(Authentication) 【Shiro】Apache Shiro架构之权限认证(Authorization) 【Shiro】Apache Shiro架构之自定义realm 【Shiro】Apache Shiro架构之实际运用(整合到Spring中) 前面两节内容介绍了Shiro中是如何进行身份和权限的认证,但...转载 2018-02-27 23:05:02 · 177 阅读 · 0 评论 -
【Shiro】Apache Shiro架构之自定义realm
Shiro系列文章: 【Shiro】Apache Shiro架构之身份认证(Authentication) 【Shiro】Apache Shiro架构之权限认证(Authorization) 【Shiro】Apache Shiro架构之集成web 【Shiro】Apache Shiro架构之实际运用(整合到Spring中) 之前写的博客里都是使用.ini文件来获取信息的,包括用户信息,角色...转载 2018-02-27 23:06:01 · 136 阅读 · 0 评论 -
【Shiro】Apache Shiro架构之实际运用(整合到Spring中)
Shiro系列文章: 【Shiro】Apache Shiro架构之身份认证(Authentication) 【Shiro】Apache Shiro架构之权限认证(Authorization) 【Shiro】Apache Shiro架构之集成web 【Shiro】Apache Shiro架构之自定义realm写在前面:前面陆陆续续对Shiro的使用做了一些总结,如题,这篇博文主要是总结一下如何将Sh...转载 2018-02-27 23:07:10 · 139 阅读 · 0 评论 -
【WebService】带你走进webservice的世界
1. webservice是啥 准确的来说,webservice不是一种技术,而是一种规范。是一种跨平台,跨语言的规范,用于不同平台,不同语言开发的应用之间的交互。 举个例子,比如在Windows Server服务器上有个C#.Net开发的应用A,在Linux上有个Java语言开发的应用B,现在B应用要调用A应用,或者是互相调用,用于查看对方的业务数据,就需要webservice的规范。 ...转载 2018-02-27 23:11:40 · 113 阅读 · 0 评论 -
【WebService】自定义WebService服务及其调用
其实在实际中,我们自定义ws的可能性比较小,一般都是去调用已有的ws较多,除非项目需要发布一个ws。但是为了更好的理解ws,这一篇博文主要来总结一下如何自定义ws,然后如何去调用自定义的ws,内容比较基础,完全针对小白。1. 自定义webservice1.1 原生态jdk定义 使用jdk自定义一个ws只需要做两件事:一是使用注解@WebService,二是调用Endpoint类的静态方法publ...转载 2018-02-27 23:13:46 · 421 阅读 · 0 评论 -
【WebService】wsdl配置详解以及使用注解修改wsdl配置
前面分析了一下关于ws的基本知识,我们知道,wsdl是ws中很重要的文档,我们可以通过解析该wsdl文档获取ws的相关信息,其实,如果不了解该文档结构的话,问题也不大,只要会解析即可进行开发。但是如果想要生成一个符合自己项目的,或者比较人性化的一个wsdl的话,或者从可读性角度来说,就需要在编写ws代码时进行一些相应的配置了,比如说ws名称,参数等等,那么就需要对wsdl文档有一定的了解。这篇文章...转载 2018-02-27 23:14:46 · 1153 阅读 · 0 评论 -
【WebService】CXF处理javaBean等复合类型以及Map等复杂类型的数据
WebService系列文章: 【WebService】带你走进webservice的世界 【WebService】自定义WebService服务及其调用 【WebService】wsdl配置详解以及使用注解修改wsdl配置 【WebService】CXF拦截器的设置以及自定义CXF拦截器 在实际中除了传入一些基本的参数以外,还需要传入一些类似于javaBean等复合类型,或者Map等复杂类型的...转载 2018-02-27 23:15:44 · 190 阅读 · 0 评论 -
【WebService】CXF拦截器的设置以及自定义CXF拦截器
CXF的拦截器和以前学过的servlet的拦截器类似的,都是在开始或结束切入一段代码,执行一些逻辑之类的。我们可以在调用ws服务前设置拦截器,也可以在调用ws服务后设置拦截器,当然了,拦截器也可以添加多个,CXF中有自己内置的拦截器,先来写个简单CXF自带的拦截器实例熟悉一下在CXF中如何添加,然后再来自定义CXF拦截器。1. CXF内置的拦截器设置还是使用上一节的ws,在原来的基础上添加以下拦...转载 2018-02-27 23:17:29 · 325 阅读 · 0 评论 -
Redis实现消息队列
基于Redis消息队列-实现短信服务化1.Redis实现消息队列原理常用的消息队列有RabbitMQ,ActiveMQ,个人觉得这种消息队列太大太重,本文介绍下基于Redis的轻量级消息队列服务。 一般来说,消息队列有两种模式,一种是发布者订阅模式,另外一种是生产者和消费者模式。Redis的消息队列,也是基于这2种原理的实现。 发布者和订阅者模式:发布者发送消息到队列,每个订阅者都能收到一样的消息...转载 2018-02-28 10:38:02 · 2871 阅读 · 0 评论 -
Web Service学习笔记
Web Service概述 Web Service的定义 W3C组织对其的定义如下,它是一个软件系统,为了支持跨网络的机器间相互操作交互而设计。Web Service服务通常被定义为一组模块化的API,它们可以通过网络进行调用,来执行远程系统的请求服务。 这里我们从一个程序员的视角来观察web service。在传统的程序编码中,存在这各种的函数方法调用。通常,我们知道一个程序模块M中的方法A,向...转载 2018-02-21 00:06:16 · 135 阅读 · 0 评论 -
【Shiro】Apache Shiro架构之权限认证(Authorization)
上一篇博文总结了一下Shiro中的身份认证,本文主要来总结一下Shiro中的权限认证(Authorization)功能,即授权。如下: 本文参考自Apache Shiro的官方文档:http://shiro.apache.org/authorization.html。 本文遵循以下流程:先介绍Shiro中的权限认证,再通过一个简单的实例来具体说明一下API的使用(基于maven)。1. ...转载 2018-02-27 23:03:37 · 120 阅读 · 0 评论 -
【Shiro】Apache Shiro架构之身份认证(Authentication)
版权声明:尊重博主原创文章,转载请注明出处目录(?)[+]Shiro系列文章: 【Shiro】Apache Shiro架构之权限认证(Authorization) 【Shiro】Apache Shiro架构之集成web 【Shiro】Apache Shiro架构之自定义realm 【Shiro】Apache Shiro架构之实际运用(整合到Spring中) Apache Shiro是一个强...转载 2018-02-27 23:02:31 · 230 阅读 · 0 评论 -
Java多线程编程-(2)-可重入锁以及Synchronized的其他基本特性
下边介绍一下关于Synchronized的其他基本特性。1Synchronized锁重入(1)关键字Synchronized拥有锁重入的功能,也就是在使用Synchronized的时候,当一个线程得到一个对象的锁后,在该锁里执行代码的时候可以再次请求该对象的锁时可以再次得到该对象的锁。(2)也就是说,当线程请求一个由其它线程持有的对象锁时,该线程会阻塞,而当原创 2017-10-17 10:28:48 · 132 阅读 · 0 评论 -
如何写出正确的单例模式
原文:单例模式算是设计模式中最容易理解,也是最容易手写代码的模式了吧。但是其中的坑却不少,所以也常作为面试题来考。本文主要对几种单例写法的整理,并分析其优缺点。很多都是一些老生常谈的问题,但如果你不知道如何创建一个线程安全的单例,不知道什么是双检锁,那这篇文章可能会帮助到你。懒汉式,线程不安全当被问到要实现一个单例模式时,很多人的第一反应是写出如下的代码,包括教科书上也是这样教我们的。[java]...转载 2018-02-26 14:28:48 · 170 阅读 · 0 评论 -
MyBatis 缓存机制
MyBatis 提供了查询缓存来缓存数据,以提高查询的性能。MyBatis 的缓存分为一级缓存和二级缓存。一级缓存是 SqlSession 级别的缓存二级缓存是 mapper 级别的缓存,多个 SqlSession 共享一级缓存一级缓存是 SqlSession 级别的缓存,是基于 HashMap 的本地缓存。不同的 SqlSession 之间的缓存数据区域互不影响。一级缓存的作用域是 SqlSes...转载 2018-02-27 15:08:17 · 104 阅读 · 0 评论 -
设计模式学习之策略模式
写代码时总会出很多的if…else,或者case。如果在一个条件语句中又包含了多个条件语句就会使得代码变得臃肿,维护的成本也会加大,而策略模式就能较好的解决这个问题,本篇博客就带你详细了解策略模式。策略模式的定义和使用场景定义:策略模式定义了一系列的算法,并将每一个算法封装起来,而且使他们可以相互替换,让算法独立于使用它的客户而独立变化。分析下定义,策略模式定义和封装了一系列的算法,它们是可以相互...转载 2018-02-27 15:39:37 · 77 阅读 · 0 评论 -
【SpringMVC学习08】SpringMVC中实现文件上传
之前有写过一篇struts2实现的文件上传,这一篇博文主要来总结下springmvc实现文件上传的步骤。首先来看一下单个文件的上传,然后再来总结下多个文件上传。1. 环境准备 springmvc上传文件的功能需要两个jar包的支持(点我下载),如下 2. 单个文件的上传2.1 前台页面 简单的写一下前台页面,注意一点的是form表单中别忘了写enctype="multipart/form-d...转载 2018-02-27 22:54:10 · 88 阅读 · 0 评论 -
【SpringMVC学习09】SpringMVC与前台的json数据交互
json数据格式在接口调用中、html页面中比较常用,json格式比较简单,解析也比较方便,所以使用很普遍。在springmvc中,也支持对json数据的解析和转换,这篇文章主要总结一下springmvc中如何和前台交互json数据。1. 两种交互形式 springmvc和前台交互主要有两种形式,如下图所示: 可以看出,前台传过来的方式有两种,一种是传json格式的数据过来,另一种就是在u...转载 2018-02-27 22:55:54 · 109 阅读 · 0 评论 -
【SpringMVC学习10】SpringMVC对RESTfull的支持
RESTful架构,就是目前流行的一种互联网软件架构。它结构清晰、符合标准、易于理解、扩展方便,所以正得到越来越多网站的采用。RESTful架构对url进行规范,写RESTful格式的url是什么样子的呢?我们一般请求的url是类似这样子的: http://...../xxx.action?id=001&type=aaa 而REST的url风格是什么样子呢?一般它类似于: http:/...转载 2018-02-27 22:56:31 · 88 阅读 · 0 评论 -
【SpringMVC学习11】SpringMVC中的拦截器
Springmvc的处理器拦截器类似于Servlet 开发中的过滤器Filter,用于对处理器进行预处理和后处理。本文主要总结一下springmvc中拦截器是如何定义的,以及测试拦截器的执行情况和使用方法。1. springmvc拦截器的定义和配置1.1 springmvc拦截器的定义 在springmvc中,定义拦截器要实现HandlerInterceptor接口,并实现该接口中提供的三个方法...转载 2018-02-27 22:57:41 · 115 阅读 · 0 评论 -
【java虚拟机】java内存区域与内存溢出异常
本文参考自《深入理解Java虚拟机》一书。主要总结一下java虚拟机内存的各个区域,以及这些区域的作用、服务对象以及其中可能产生的问题。1. 运行时数据区域 java虚拟机在执行java程序的过程中会把它说管理的内存划分为若干个不同的数据区域,这些区域都有各自的用途,以及创建和销毁的时间,有的区域随着虚拟机进程的启动而存在,有些区域则依赖用户线程的启动和结束而建立和销毁。具体如下图所示: 结...转载 2018-02-27 22:59:10 · 102 阅读 · 0 评论 -
【java虚拟机】java虚拟机的类加载机制
这篇博文主要来总结一下java虚拟机加载一个类的过程,部分参考自《深入理解Java虚拟机》。为了避免枯燥的解说,为了让读者在读完本文后能彻底理解类加载的过程,首先来看一段java代码,我们从一个例子入手://ClassLoaderProcess.java文件class Singleton { private static Singleton singleton = new Singlet...转载 2018-02-27 23:00:27 · 145 阅读 · 0 评论 -
JVM的基本结构及其各部分详解(一)
1 java虚拟机的基本结构如图:1)类加载子系统负责从文件系统或者网络中加载Class信息,加载的类信息存放于一块称为方法区的内存空间。除了类的信息外,方法区中可能还会存放运行时常量池信息,包括字符串字面量和数字常量(这部分常量信息是Class文件中常量池部分的内存映射)。2)java堆在虚拟机启动的时候建立,它是java程序最主要的内存工作区域。几乎所有的java对象实例都存放在java堆中。...转载 2018-02-24 14:12:47 · 155 阅读 · 0 评论