-
spring Roo安装使用简介
所属栏目:[Java] 日期:2020-12-14 热度:102
一直以来,Java/Spring开发被认为是笨重的代表,无法快速生成项目原型和骨架。所以,Spring推出了Spring Roo这个项目,帮助我们快速生成项目原型。本文参考自Spring Roo的官方文档,如果熟悉英文的话可以直接看原文档,内容更加丰富。 安装 安装命令行工具 S[详细]
-
Java终止线程实例和stop()方法源码阅读
所属栏目:[Java] 日期:2020-12-14 热度:119
了解线程 概念 线程 是程序中的执行线程。Java 虚拟机允许应用程序并发地运行多个执行线程。 线程特点 拥有状态,表示线程的状态,同一时刻中,JVM中的某个线程只有一种状态; ?NEW 尚未启动的线程(程序运行开始至今一次未启动的线程) ?RUNNABLE 可运行的线程[详细]
-
JMS简介与ActiveMQ实战代码分享
所属栏目:[Java] 日期:2020-12-14 热度:83
一、异步通信 之前接触到的RMI,Hessian等技术都是同步通信机制。当客户端调用远程方法时,客户端必须等到远程方法完成后,才能继续执行。这段时间客户端一直会被阻塞(这样造成的用户体验很不好)。 (同步通信) 同步通信有并不是程序之间交互的唯一方式,[详细]
-
Java基于JDBC实现事务,银行转账及货物进出库功能示例
所属栏目:[Java] 日期:2020-12-14 热度:112
本篇章节讲解Java基于JDBC实现事务,银行转账及货物进出库功能。供大家参考研究具体如下: 1. 转账业务 转账必须执行2个sql语句(update更新)都成功的情况下,提交事务,如果有一个失败,则2个都回滚事务 2. 事务应该具有4个属性 :原子性、一致[详细]
-
浅谈Spring解决jar包依赖的bom
所属栏目:[Java] 日期:2020-12-14 热度:55
名词解释: BOM(bill of materials):材料清单,用于解决jar包依赖的好方法。 Spring IO Platform 缘起:Spring起初只专注ioc和aop,现在已发展成一个庞大体系。比如security、mvc等。如此一来,不同模块或者与外部进行集成时,依赖处理就需要各自对应版本[详细]
-
java避免死锁的常见方法代码解析
所属栏目:[Java] 日期:2020-12-14 热度:195
死锁 索是一个非常有用的工具,运用场景非常多,因为它使用起来非常简单,而且易于理解。但同时它也会带来一些困扰,那就是可能会引起死锁,一旦产生死锁,就会造成系统功能不可用。让我们先来看一段代码,这段代码会引起死锁,使线程 thread_1 和线程 threa[详细]
-
Spring中实例化bean的四种方式详解
所属栏目:[Java] 日期:2020-12-14 热度:125
前言 在介绍Bean的实例化的方式之前,我们首先需要介绍一下什么是Bean,以及Bean的配置方式。 如果把Spring看作一个大型工厂,那么Spring容器中的Bean就是该工厂的产品。要想使用Spring工厂生产和管理Bean,就需要在配置文件中指明需要哪些Bean,以及需要使[详细]
-
Log4j 配置日志打印时区的实现方法
所属栏目:[Java] 日期:2020-12-14 热度:183
og4j版本:2.8.1 开发桌面程序时遇到一个问题,idea中日志时间和CMD中jar包运行日志时间都正常,使用exe4j打成的exe运行后,日志的时间都要少8个小时,时区变得不对了 网上找了一圈发现没有类似问题的解决办法,后来终于在stack overflow 中找到相应的解决办[详细]
-
基于线程池的工作原理与源码解读
所属栏目:[Java] 日期:2020-12-14 热度:87
随着cpu核数越来越多,不可避免的利用多线程技术以充分利用其计算能力。所以,多线程技术是服务端开发人员必须掌握的技术。 线程的创建和销毁,都涉及到系统调用,比较消耗系统资源,所以就引入了线程池技术,避免频繁的线程创建和销毁。 在Java用有一个Exec[详细]
-
Mybatis应用mysql存储过程查询数据实例
所属栏目:[Java] 日期:2020-12-14 热度:60
1.创建mysql存储过程,这是个复杂查询加上了判断,比较复杂 CREATE PROCEDURE searchAllList (IN tradingAreaId VARCHAR (50),IN categoryName VARCHAR (100),IN intelligenceSort TINYINT UNSIGNED,IN priceBegin DOUBLE,IN priceEnd DOUBLE,IN commodityNa[详细]
-
解决maven启动Spring项目报错的问题
所属栏目:[Java] 日期:2020-12-14 热度:124
第一个问题 java.lang.ClassCastException: org.springframework.web.SpringServletContainerInitializer cannot be cast to javax.servlet.ServletContainerInitializer 出现原因主要是 javax.servlet-api 在运行时将spring容器当成了servlet容器出现类型转[详细]
-
让JPA的Query查询接口返回Map对象的方法
所属栏目:[Java] 日期:2020-12-14 热度:184
在JPA 2.0 中我们可以使用entityManager.createNativeQuery()来执行原生的SQL语句。 但当我们查询结果没有对应实体类时,query.getResultList()返回的是一个ListObject[]。也就是说每行的数据被作为一个对象数组返回。 常见的用法是这样的: public void tes[详细]
-
浅谈Spring Boot 整合ActiveMQ的过程
所属栏目:[Java] 日期:2020-12-14 热度:147
RabbitMQ是比较常用的AMQP实现,这篇文章是一个简单的Spring boot整合RabbitMQ的教程。 安装ActiveMQ服务器,(也可以不安装,如果不安装,会使用内存mq) 构建Spring boot项目,增加依赖项,只需要添加这一项即可 !-- 添加acitivemq依赖 --dependency group[详细]
-
Spring boot集成Kafka+Storm的示例代码
所属栏目:[Java] 日期:2020-12-14 热度:56
前言 由于业务需求需要把Strom与kafka整合到spring boot项目里,实现其他服务输出日志至kafka订阅话题,storm实时处理该话题完成数据监控及其他数据统计,但是网上教程较少,今天想写的就是如何整合storm+kafka 到spring boot,顺带说一说我遇到的坑。 使用工具及[详细]
-
浅谈Slf4j与其他日志系统兼容的使用方法
所属栏目:[Java] 日期:2020-12-14 热度:91
java生产的各种框架(如spring等)里各个框架会使用不同的日志体系,多个不同日志在一个jvm里混搭会出现一定问题 ,这里梳理一下java体系里常见的日志框架,以SFL4j为中心介绍下跟各个日志框架的关系,介绍下生产环境如何打理各种日志框架。 1. 接口简介 在j[详细]
-
Spring基础篇之初识DI和AOP
所属栏目:[Java] 日期:2020-12-14 热度:170
前言 作为从事java开发的码农,Spring的重要性不言而喻,你可能每天都在和Spring框架打交道。Spring恰如其名的,给java应用程序的开发带了春天般的舒爽感觉。Spring,可以说是任何一个java开发者通往技术高阶的必备基[详细]
-
java中拼接字符串的5种方法效率对比
所属栏目:[Java] 日期:2020-12-14 热度:186
前言 最近写一个东东,可能会考虑到字符串拼接,想了几种方法,但对性能未知,所以下面就来测试下面,话不多说了,来一起看看详细的介绍吧。 示例代码 public class Test { ListString list = new ArrayList(); @Before public void init(){ IntStream.range(0,[详细]
-
Java深度复制功能与用法实例分析
所属栏目:[Java] 日期:2020-12-14 热度:172
本篇章节讲解Java深度复制功能与用法。供大家参考研究具体如下: 写在前面: 什么是深度复制?在Java里面,在创建一个对象,我们通常会有一个引用指向该对象,当我们通过引用变量改变对象的值(属性)时,引用是不变的,变的是内存里面的那块内存[详细]
-
浅谈Java中的class类
所属栏目:[Java] 日期:2020-12-14 热度:185
Class 类是在Java语言中定义一个特定类的实现。一个类的定义包含成员变量,成员方法,还有这个类实现的接口,以及这个类的父类。Class类的对象用于表示当前运行的 Java 应用程序中的类和接口。 比如:每个数组均属于一个 Class 类对象,所有具有相同元素类型[详细]
-
JUnit5相关内容简介
所属栏目:[Java] 日期:2020-12-14 热度:162
著名的Java单元测试框架Junit 4已经出来很长时间了,当时我发现JUnit 5已经处于测试版,就准备写文章来介绍JUnit 5.不过因为还是测试版,所以有些地方还不太完善,我也有点懒没有好好写。这几天突然想起这事了,在到官网上查看,发现就在9月10日,JUnit 5的[详细]
-
spring的@Transactional注解用法解读
所属栏目:[Java] 日期:2020-12-14 热度:87
概述 事务管理对于企业应用来说是至关重要的,即使出现异常情况,它也可以保证数据的一致性。 Spring Framework对事务管理提供了一致的抽象,其特点如下: 为不同的事务API提供一致的编程模型,比如JTA(Java Transaction API),JDBC,Hibernate,JPA(Java Persi[详细]
-
Java实现Map集合遍历的四种常见方式与用法分析
所属栏目:[Java] 日期:2020-12-14 热度:184
本篇章节讲解Java实现Map集合遍历的四种常见方式与用法。供大家参考研究具体如下: ~Map集合是键值对形式存储值的,所以遍历Map集合无非就是获取键和值,根据实际需求,进行获取键和值 1. 无非就是通过 map.keySet() 获取到值,然后根据键获取到值[详细]
-
jstack和线程dump实例解析
所属栏目:[Java] 日期:2020-12-14 热度:147
jstack定义: jstack是Java虚拟机自带的一种堆栈跟踪工具。 基本介绍: jstack用于生成java虚拟机当前时刻的线程快照。线程快照是当前java虚拟机内每一条线程正在执行的方法堆栈的集合,生成线程快照的主要目的是定位线程出现长时间停顿的原因,如线程间死锁[详细]
-
Java线程Dump分析工具jstack解析及使用场景
所属栏目:[Java] 日期:2020-12-14 热度:104
jstack用于打印出给定的java进程ID或core file或远程调试服务的Java堆栈信息,如果是在64位机器上,需要指定选项"-J-d64",Windows的jstack使用方式只支持以下的这种方式: jstack [-l][F] pid 如果java程序崩溃生成core文件,jstack工具可以用来获得core文[详细]
-
通过jstack分析解决进程死锁问题实例代码
所属栏目:[Java] 日期:2020-12-14 热度:98
刚才用jstack解决了一个进程死锁的问题――其实早就解决了,也知道原因,只是一直没找到死锁的位置,不太甘心而已。 流程大致如下: (0)环境要求,JDK1.6及以上 (1)先找到进程的PID,Windows下,打开进程管理器,按照名字排序,可以找到叫做javaw.exe的进程([详细]