java
文章平均质量分 61
翰霖学院
有六年JAVA开发经验,熟悉云计算与虚拟化
展开
-
JVM学习08:常量池知识点总结(完结)
常量池介绍-运行时常量池-基本数据类型常量池-class文件常量池-字符串常量池原创 2017-06-07 17:48:02 · 653 阅读 · 1 评论 -
01.JAVA并发编程-线程的使用-基本概念
线程定义 线程,有时被称为轻量级进程(Lightweight Process,LWP),是程序执行流的最小单元。一个标准的线程由线程ID,当前指令指针(PC),寄存器集合和堆栈组成。如果没有明确的协同机制,线程将彼此独立执行。每一个程序都至少有一个线程,若程序只有一个线程,那就是程序本身。 线程是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥原创 2017-09-28 17:42:54 · 1380 阅读 · 0 评论 -
02.JAVA并发编程-线程的使用-构建启动线程
构建线程Thread说明线程是程序中的执行线程,java虚拟机允许应用程序并发的运行多个线程。每个线程都有一个优先级,高优先级线程的执行优先于低优先级线程。每个线程都可以或不可以标记为一个守护程序。当某个线程中运行的代码创建一个新 Thread 对象时,该新线程的初始优先级被设定为创建线程的优先级,并且当且仅当创建线程是守护线程时,新线程才是守护程序。当 Java 虚拟机启动时,通常都会有单个原创 2017-09-30 09:57:43 · 703 阅读 · 0 评论 -
JVM学习02:运行时数据区域-程序计数器
由于JAVA的多线程是通过线程轮流切换分配处理时间的方式实现,为了保证能够恢复到线程的正确位置,每个线程再启动的时候都会创建一块较小的内存区域,这块区域是线程隔离的,生命周期同线程绑定,线程结束,则释放该内存区域,可以看作是当前线程所执行的字节码的行号子令器。 字节码子令器的工作模式是通过改变这个计数器的值来选取下一条需要执行的字节码指令,分支、循环、跳转、异常处理、线程恢复等基础功能都需要依原创 2017-05-29 17:38:21 · 745 阅读 · 0 评论 -
003.springboot web篇:快速构建较复杂的RESTful API与单元测试
说明通过实现订单的增删改查,初步了解web相关的构建和使用REStful API规划 请求类型 URL 说明 GET /orders 查询所有订单 POST /orders/add 创建一个订单 ...原创 2018-03-07 09:22:48 · 936 阅读 · 0 评论 -
004.SpringBoot web篇:静态资源管理
默认静态资源管理 在web开发中,静态资源的访问是必不可少的,如:图片、js、css 等资源的访问。spring Boot 对静态资源访问提供了很好的支持,基本使用默认配置就能满足开发需求。SpringBoot默认为我们提供了静态资源处理,使用WebMvcAutoConfiguration 中的配置各种属性。(注意:如果想自己完全控制webmvc 则可以在自己定义的@Configur...原创 2018-03-07 19:52:26 · 1376 阅读 · 0 评论 -
002.SpringBoot入门篇:属性配置和使用
简介在使用SpringBoot构建项目的过程中,简化了第三方插件与Spring整合步骤,省略了繁琐的XML配置内容,只需要在pom.xml文件中引入模块化的Starter POMs,其中各个模块都有自己的默认配置,所以如果不是特殊应用场景,就只需要在application.properties中完成一些属性配置就能开启各模块的应用。如果需要修改自定义修改默认配置,spring boot 提...原创 2018-03-05 16:17:29 · 1311 阅读 · 0 评论 -
001.SpringBoot入门篇:helloworld
简介官网:https://projects.spring.io/spring-boot/springboot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application ...原创 2018-03-02 10:59:16 · 663 阅读 · 0 评论 -
JVM学习04:运行时数据区域-JAVA堆
The heap is the runtime data area from which memory for all class instances and arrays is allocated。Java heap是Java虚拟机中内存最大一块区域,也是最该小心的区域,因为内存溢出一般都在这块区域发生。Java heap是被线程共享的内存区域,在虚拟机启动的时候创建。该区域存储的是实例化对原创 2017-06-03 18:35:24 · 384 阅读 · 0 评论 -
JVM学习06:运行时数据区域-运行时常量池
基本描述运行时常量池是方法区的一部分,Class文件除了类信息、字段信息、方法信息、接口信息外还有一项信息是常量池(Constant Pool Table),用于存放编译期生成的各种字面量和符号引用,这部分内容将在类加载后进入方法区的运行时常量池中存放。运行时常量池相对于Class文件常量池的另外一个重要特征是具备动态性,Java语言并不要求常量一定只能在编译期产生,也就是并非预置入Class文原创 2017-06-05 09:02:38 · 487 阅读 · 0 评论 -
JVM学习07:直接内存
划分直接内存不是虚拟机规范中定义的内存区域,也不是虚拟机运行时数据区域的一部分。属于堆外内存,也就是本机内存的一部分。使用场景在JDK 1.4中新加入了NIO(New Input/Output)类,引入了一种基于通道(Channel)与缓冲区(Buffer)的I/O方式,它可以使用Native函数库直接分配堆外内存,然后通过一个存储在Java堆中的DirectByteBuffer对象作为这块内存的引原创 2017-06-06 17:14:28 · 810 阅读 · 0 评论 -
jdbc读写lob(blob+clob)
1.说明 数据库在存储大对象时,一般采用lob。二进制大对象称为blob,字符型大对象称为clob。2.出库 从数据库中获取clob采用的方法是rs.getClob(int columnindex);获取blob采用的方法是rs.getBlob(int columnindex).在获取到大字段之后我们可以生成对应的字符流、字节流,然后根据流的方原创 2012-07-31 08:59:43 · 752 阅读 · 1 评论 -
抽象工厂模式(Abstract Factory Pattern,对象创建型模式)
意图把相关的零件组合成产品,侧重点在于零件的组合而不是零件的实现 提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。 新增具体工厂如探囊取物,但是新增零件却难上加难 用意:给客户端提供一个接口,可以创建多个产品族中的产品对象 条件: 1. 系统中有多个产品族,而系统一次只能消费其中一族产品 2. 同属于同一个产品族的产品一起使用适用性在以下情况可以使用Abstrac原创 2017-04-08 09:18:30 · 632 阅读 · 0 评论 -
使用工厂模式、策略模式实现BASE64,MD5,SHA,HMAC,DES各种加密算法
定义枚举类型,包含已经集成的加密算法package com.sunld.manager_core.tools.encipher.enums;/** * @author 孙辽东 * <p>createDate:2014年3月7日 上午11:30:44</p> * @version V1.0 */public enum EncipherEnum { BASE64, M原创 2017-04-14 11:22:14 · 1294 阅读 · 2 评论 -
02、openstack4j建立通用的认证连接公共方法
keystone基本概念的介绍 用户、角色、租户、endpoint等信息介绍通过openstack4j提供的接口快速完成认证,返回keystone的封装后的信息原创 2017-05-26 11:20:33 · 1288 阅读 · 0 评论 -
01、使用OpenStack4j快速开发对外接口
在项目中增加maven依赖包<dependency> <groupId>org.pacesys</groupId> <artifactId>openstack4j</artifactId> <version>3.0.3</version> <classifier>withdeps</classifier></dependency>通过权限认证import org.openstack原创 2017-05-26 11:18:49 · 1242 阅读 · 0 评论 -
JVM学习01:运行时数据区域-总体概述
简单介绍JVM运行时数据区域的划分,并且按照线程是否共享进行分类原创 2017-05-28 20:54:05 · 390 阅读 · 0 评论 -
JVM学习03:运行时数据区域-JAVA虚拟机栈
与程序计数器一样,JAVA虚拟机栈也是线程私有,并且生命周期与线程相同。 由于虚拟机栈描述的是Java方法执行的内存模型,所以虚拟机栈主要存储的是方法相关的内容(方法参数、局部变量、返回值等);实现方式:当线程Thread1启动时,会在Java Stack中分配一块区域,用来存储需要执行相关方法的信息,当线程调用某个方法使,会同时创建一个栈帧(用于存储局部变量、操作栈、动态链接、方法出口等信息),原创 2017-05-30 15:53:42 · 1011 阅读 · 0 评论 -
HibernateTemplate删除数据内存泄漏分析
在使用HibernateTemplate删除数据的时候常用的方法如下:public void deleteAll(final Collection entities) throws DataAccessExceptionpublic void delete(Object entity) throws DataAccessException这两种方法删除的都是持久化对象,所以一般在删除原创 2017-06-02 09:59:07 · 711 阅读 · 0 评论 -
hashcode、equals、“==”的深入理解
在java中如何判断两个对象是否相等?1。“==” Integer a = new Integer(1); Integer b = new Integer(1); System.out.println(a==b); 返回结果是?false!因为“==”判断的是对象的句柄(物理地址),并不是对象中的内容!如果想判断对象中的内容是否相等只能用equals,当然对于基原创 2012-07-27 09:29:37 · 431 阅读 · 1 评论