
Java
liooi
这个作者很懒,什么都没留下…
展开
-
修改Gradle 和Maven本地仓库的位置
关于Maven的配置:用过Maven的开发人员应该知道Maven可以通过配置 conf文件夹下面的settings.xml文件来修改maven下载的包,默认是下在c盘的用户文件夹下的.m2中,日积月累.m2会越来越庞大,自然会影响windows的响应,所以一般我们都会将其移动到其他非系统盘下。具体是修改下面这段配置:默认是: <!-- localRepository | The path to the local repository maven will use to store转载 2021-09-05 17:01:26 · 1673 阅读 · 0 评论 -
Java打包Jar和运行
Gradle将代码打成Jar包后,可以通过两种方式来运行Jar1. 执行运行:java -cp xxx.jar package.className [args]2. 导出时指定main入口函数,在Jar包中的META-INF/MANIFEST.MF指定Main-ClassManifest-Version: 1.0Class-Path: . parser1.jarMain-Class: test1.function执行运行:java -jar xxx.jar参考:https.原创 2021-01-31 12:00:16 · 446 阅读 · 0 评论 -
Gradle配置国内镜像
默认使用Gradle进行依赖更新时,往往会从https://repo.maven.apache.org/maven2下载依赖,这个地址在国内不太友好,使用国内镜像地址更加快捷:Gradle全局配置在${USER_HOME}/.gradle/目录下创建init.gradle文件,添加以下内容:allprojects { repositories { def ALIYUN_REPOSITORY_URL = 'https://maven.aliyun.com/r...原创 2021-01-31 09:52:10 · 1194 阅读 · 0 评论 -
Eclipse创建gradle 多模块
eclipse创建gradle多模块有两种方式 第一种方式: 第一步:创建多个独立gradle项目:第二步:编辑父模块gradle-multi 的settings.gradle文件:include 'gradle-one'include 'gradle-two'project(':gradle-one').projectDir = new File(settingsDir, '../gradle-one')project(':graaidle-two').projectDir = n转载 2021-01-31 08:43:01 · 1165 阅读 · 0 评论 -
Java 内存溢出分析
Java 内存溢出分析1.首先使用jps命令查看进程PID2.使用jmap -dump:format=b,live,file=文件名 进程PID,文件名可以使txt,bin,hprof等然后使用jdk自带的jvisualvm工具,把文件导进去进行分析【推荐使用Eclipse Memory Analyzer (MAT),能够详细看到内存数据情况】找到文件导入即可1.当OutOfMemoryError发生时,自动生成 heap dump文件的方法,输出到指定的路径d:/aa.hprof-XX:.转载 2020-11-16 09:24:41 · 210 阅读 · 0 评论 -
Java定时任务之Spring定时任务的三种实现
一.分类 从实现的技术上来分类,目前主要有三种技术(或者说有三种产品):1.Java自带的java.util.Timer类,这个类允许你调度一个java.util.TimerTask任务。使用这种方式可以让你的程序按照某一个频度执行,但不能在指定时间运行。一般用的较少,这篇文章将不做详细介绍。2.使用Quartz,这是一个功能比较强大的转载 2017-06-07 11:07:32 · 526 阅读 · 0 评论 -
堆外内存(直接内存)
HeapByteBuffer与DirectByteBuffer,在原理上,前者可以看出分配的buffer是在heap区域的,其实真正flush到远程的时候会先拷贝得到直接内存,再做下一步操作(考虑细节还会到OS级别的内核区直接内存),其实发送静态文件最快速的方法是通过OS级别的send_file,只会经过OS一个内核拷贝,而不会来回拷贝;在NIO的框架下,很多框架会采用DirectByteBuff转载 2017-05-17 18:43:20 · 210 阅读 · 0 评论 -
关于java中任意对象强制转换为接口类型的问题
java中任意对象强转为接口类型都不会有编译错误public class Apple implements Eatable{ public static void main(String args[]) { Drinkable drinkable = (Drinkable)new Apple(); }}interface Eatable{}inte转载 2017-01-20 10:03:56 · 1048 阅读 · 0 评论 -
Java中的“抽象接口”
在程序设计过程中,读者很可能遇到这样一种困境:设计了一个接口,但实现这个接口的子类并不需要实现接口中的全部方法,也就是说,接口中的方法过多,对于某些子类是多余的,我们不得不浪费的写上一个空的实现。 今天小菜提到的“抽象接口”,就是用来解决这个问题的。 为了不误导读者,先说明一下,什么是“抽象接口”。 所谓“抽象接口”,即在提供接口的同时,转载 2016-07-19 15:14:50 · 199 阅读 · 0 评论 -
jconsole本地进程列表灰色无法连接问题
今天使用jconsole连接本地java应用的时候,不知道是公司机器权限问题还是其他问题,本地进程中的列表是灰色无法连接,后面请教同事,在vm arguments中加上以下参数:-Dcom.sun.management.jmxremote-Dcom.sun.management.jmxremote.port=****-Dcom.sun.management.jmxremote.ss原创 2016-07-13 17:35:26 · 764 阅读 · 0 评论 -
Java中如何遍历Map对象的4种方法
在Java中如何遍历Map对象How to Iterate Over a Map in Java在java中遍历Map有不少的方法。我们看一下最常用的方法及其优缺点。既然java中的所有map都实现了Map接口,以下方法适用于任何map实现(HashMap, TreeMap, LinkedHashMap, Hashtable, 等等) 方法一 在for-ea转载 2016-06-08 17:54:14 · 167 阅读 · 0 评论 -
如何理解和使用Java package包
Java中的一个包就是一个类库单元,包内包含有一组类,它们在单一的名称空间之下被组织在了一起。这个名称空间就是包名。可以使用import关键字来导入一个包。例如使用import java.util.*就可以导入名称空间java.util包里面的所有类。所谓导入这个包里面的所有类,就是在import声明这个包名以后,在接下来的程序中可以直接使用该包中的类。例如:[java] view转载 2016-01-21 17:01:48 · 420 阅读 · 0 评论