-
详解如何将已有项目改造为Spring Boot项目
所属栏目:[Java] 日期:2020-12-14 热度:166
快速创建一个springboot web工程 以IntelliJ IDEA为例: 1、首先创建一个项目,创建时选择Spring Initializr,然后Next,如下图: 2、填写项目信息,如下图: 3、勾选web 4、最后一步,填写工程名字点击finish 第一次创建时系统会去下载需要的依赖,耗时稍长[详细]
-
深入分析java并发编程中volatile的实现原理
所属栏目:[Java] 日期:2020-12-14 热度:167
引言 在多线程并发编程中synchronized和Volatile都扮演着重要的角色,Volatile是轻量级的synchronized,它在多处理器开发中保证了共享变量的“可见性”。可见性的意思是当一个线程修改一个共享变量时,另外一个线程能读到这个修改的值。它在某些情况下比sync[详细]
-
超详细的Spring Boot入门笔记(总结)
所属栏目:[Java] 日期:2020-12-14 热度:78
1. Spring Boot 入门 Spring Boot是Spring社区较新的一个项目。该项目的目的是帮助开发者更容易的创建基于Spring的应用程序和服务,让更多人的人更快的对Spring进行入门体验,让Java开发也能够实现Ruby on Rails那样的生产效率。为Spring生态系统提供了一种[详细]
-
聊聊Java并发中的Synchronized
所属栏目:[Java] 日期:2020-12-14 热度:102
1 引言 在多线程并发编程中Synchronized一直是元老级角色,很多人都会称呼它为重量级锁,但是随着Java SE1.6对Synchronized进行了各种优化之后,有些情况下它并不那么重了,本文详细介绍了Java SE1.6中为了减少获得锁和释放锁带来的性能消耗而引入的偏向锁和[详细]
-
SpringBoot四大神器之Actuator的使用小结
所属栏目:[Java] 日期:2020-12-14 热度:181
序 Spring Boot有四大神器,分别是auto-configuration、starters、cli、actuator,本文主要讲actuator。actuator是spring boot提供的对应用系统的自省和监控的集成功能,可以对应用系统进行配置查看、相关功能统计等。 spring-boot-starter-actuator模块的实[详细]
-
Java map的学习及代码示例
所属栏目:[Java] 日期:2020-12-14 热度:116
前言 最近正在做的高校云平台项目中接触Map比较多,关于map的使用不是很熟悉,所以在此将map的几个方法再次学习下。 Map与Collection 提到Map集合接口就不能不提到Collection集合接口,map和Collection都是集合接口,Collection中包含了我们经常用的list和se[详细]
-
Spring Boot 配置大全(小结)
所属栏目:[Java] 日期:2020-12-14 热度:112
Spring Boot 允许通过外部配置让你在不同的环境使用同一应用程序的代码,简单说就是可以通过配置文件来注入属性或者修改默认的配置。 SpringBoot的配置方式有很多,它们的优先级如下所示(优先级递减顺序): 1.命令行参数 2.来自java:comp/env的JNDI属性 3.Ja[详细]
-
TF-IDF理解及其Java实现代码实例
所属栏目:[Java] 日期:2020-12-14 热度:101
TF-IDF 前言 前段时间,又具体看了自己以前整理的TF-IDF,这里把它发布在博客上,知识就是需要不断的重复的,否则就感觉生疏了。 TF-IDF理解 TF-IDF(term frequencyCinverse document frequency)是一种用于资讯检索与资讯探勘的常用加权技术,TFIDF的主要思[详细]
-
Java Swing组件BoxLayout布局用法示例
所属栏目:[Java] 日期:2020-12-14 热度:162
本篇章节讲解Java Swing组件BoxLayout布局用法。供大家参考研究具体如下: BoxLayout 可以把控件依次进行水平或者垂直排列布局,这是通过参数 X_AXIS、Y_AXIS 来决定的。X_AXIS 表示水平排列,而 Y_AXIS 表示垂直排列。BoxLayout 的构造函数有两个[详细]
-
java 文件和byte互转的实例
所属栏目:[Java] 日期:2020-12-14 热度:154
实例如下所示: /** * 获得指定文件的byte数组 */ private byte[] getBytes(String filePath){ byte[] buffer = null; try { File file = new File(filePath); FileInputStream fis = new FileInputStream(file); ByteArrayOutputStream bos = new ByteArray[详细]
-
Spring框架七大模块简单介绍
所属栏目:[Java] 日期:2020-12-14 热度:130
Spring 是一个开源框架,是为了解决企业应用程序开发复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许您选择使用哪一个组件,同时为 J2EE 应用程序开发提供集成的框架。 Spring框架的7个模块 组成 Spring框架的每个模块(或组件)都可以单独[详细]
-
初识MyBatis及基本配置和执行
所属栏目:[Java] 日期:2020-12-14 热度:193
1.MyBatis简介 MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Old J[详细]
-
Java和C++通过new创建的对象有何区别?
所属栏目:[Java] 日期:2020-12-14 热度:150
前言 本文我们不去谈int、float、char等基本数据类型,而是用一般的类来说明。因为Java中可以直接通过 int varName 的方式来定义和使用一个基本类型的变量,但对于其它一般类型的对象,必须使用 new 来创建。 因此,为了更一般性地分析,体现两种语言创建对[详细]
-
Spring中利用配置文件和@value注入属性值代码详解
所属栏目:[Java] 日期:2020-12-14 热度:198
1 简单属性值注入 package com.xy.test1;import org.springframework.beans.factory.annotation.Value;import org.springframework.stereotype.Service;@Service // 需要被注入属性值的类需要被Spring管理 public class PropertiesService1 {// 利用@Value注[详细]
-
java操作solr实现查询功能的实例
所属栏目:[Java] 日期:2020-12-14 热度:185
一、封装的查询方法 /*** solr查询方法* @param client solr客户端* @param query solr查询对象* @return list集合* @throws SolrServerException * @throws IOException*/public static ListMapString,Object getSolrQuery(HttpSolrClient client,SolrQuery[详细]
-
基于RabbitMQ的简单应用(详解)
所属栏目:[Java] 日期:2020-12-14 热度:124
虽然后台使用了读写分离技术 ,能够在一定程度上抗击高并发 ,但是如果并发量特别巨大时, 主数据库不能同时处理高并发的请求 ,这时数据库容易宕机。 问题: 现在的问题是如何既能保证数据库正常运行, 又能实现用户数据的入库操作 解决方案: 引入 rabbitM[详细]
-
深入理解Java编程线程池的实现原理
所属栏目:[Java] 日期:2020-12-14 热度:128
在前面的文章中,我们使用线程的时候就去创建一个线程,这样实现起来非常简便,但是就会有一个问题: 如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要时[详细]
-
java数组复制的四种方法效率对比
所属栏目:[Java] 日期:2020-12-14 热度:200
有关数组的基础知识,有很多方面,比方说初始化,引用,遍历,以及一维数组和二维数组,今天我们先看看数组复制的有关内容。 来源于牛客网的一道选择题: JAVA语言的下面几种数组复制方法中,哪个效率最高? A.for循环逐一复制 B.System.arraycopy C.System.[详细]
-
Java异常区分和处理的一些经验分享
所属栏目:[Java] 日期:2020-12-14 热度:171
异常处理的一些经验总结 这篇文章主要是对Java异常选择和使用中的一些误区的总结和归纳,希望各位读者能够熟练掌握异常处理的一些注意点和原则。只有处理好了异常,才能提升开发人员的基本素养,提高系统的健壮性,提升用户体验,提高产品的价值。废话少说,[详细]
-
spring-boot通过@Scheduled配置定时任务及定时任务@Scheduled注
所属栏目:[Java] 日期:2020-12-14 热度:149
串行的定时任务 @Componentpublic class ScheduledTimer { private Logger logger = Logger.getLogger(this.getClass()); /** * 定时任务,1分钟执行1次,更新潜在客户超时客户共享状态 */ @Scheduled(cron="0 0/1 8-20 * * ") public void executeUpdateCuT[详细]
-
浅谈java中String的两种赋值方式的区别
所属栏目:[Java] 日期:2020-12-14 热度:50
类似普通对象,通过new创建字符串对象。String str = new String("Hello"); 内存图如下图所示,系统会先创建一个匿名对象"Hello"存入堆内存(我们暂且叫它A),然后new关键字会在堆内存中又开辟一块新的空间,然后把"Hello"存进去,并且把地址返回给栈内存中[详细]
-
Java SSM框架(Spring+SpringMVC+MyBatis)搭建过程
所属栏目:[Java] 日期:2020-12-14 热度:171
摘要: 这段时间搭建ssm环境,并测试几个下载的项目demo 安装相关文件: MyEclipse界面: 测试项目简单增删改: ssm+mysql+easyui项目: SSM+MYSQL+EXTJS项目 总结 以上所述是小编给大家介绍的Java SSM框架(Spring+SpringMVC+MyBatis)搭建过程,希望对大家[详细]
-
Java中的数组复制(clone与arraycopy)代码详解
所属栏目:[Java] 日期:2020-12-14 热度:51
JAVA数组的复制是引用传递,而并不是其他语言的值传递。 1、clone protectedObjectclone() throwsCloneNotSupportedException 创建并返回此对象的一个副本。“副本”的准确含义可能依赖于对象的类。这样做的目的是,对于任何对象x,表达式: x.clone()!=x为t[详细]
-
java编程中拷贝数组的方式及相关问题分析
所属栏目:[Java] 日期:2020-12-14 热度:100
JAVA数组的复制是引用传递,而并不是其他语言的值传递。 这里介绍java数组复制的4种方式极其问题: 第一种方式利用for循环: int[] a={1,2,4,6};int length=a.length;int[] b=new int[length];for (int i = 0; i length; i++) {b[i]=a[i];} 第二种方式直接赋[详细]
-
Java多线程之显示锁和内置锁总结详解
所属栏目:[Java] 日期:2020-12-14 热度:191
总结多线程之显示锁和内置锁 Java中具有通过Synchronized实现的内置锁,和ReentrantLock实现的显示锁,这两种锁各有各的好处,算是互有补充,这篇文章就是做一个总结。 *Synchronized* 内置锁获得锁和释放锁是隐式的,进入synchronized修饰的代码就获得锁,[详细]