Java
文章平均质量分 55
俊墨客
这个作者很懒,什么都没留下…
展开
-
字段和属性的区别
如上图所示: 属性 c 由 getter/setter 和字段 c 组成属性 a 由 getter/setter 组成b 没有 getter 和 setter,所以是字段 Java中的属性(property),通常可以理解为get和set方法,而字段(field),通常叫做“类成员”,或 “类成员变量”,有时也叫“域”,理解为“数据成员”,用来承载数据的。 区别开属性与字段是为了更好的实现数据安全,比如当我们想给一个类的属性赋值或者其他类用到了,就需要将这个字段设置为public,..转载 2021-12-28 11:39:56 · 1166 阅读 · 0 评论 -
JDK开源镜像下载地址 一些国内常用的镜像站
推荐几个大厂的开源仓库镜像站。JDK目前好像就华为有镜像。 JDK下载(华为): https://repo.huaweicloud.com/java/jdk 网易开源镜像站: http://mirrors.163.com/ 华为镜像站: https://mirrors.huaweicloud.com/ 阿里镜像站: https://developer.aliyun.com/mirror/ 搜狐镜像站: http://mirrors.s转载 2021-08-18 17:12:24 · 2307 阅读 · 0 评论 -
Maven 指定 Java 编译版本
Maven使用的默认Java编译器版本是Java 1.5。为了使Maven使用Java编译器的较新版本编译Java代码,需要在项目的POM文件(pom.xml)中显式指定Java编译器。 指定Java编译器版本的确切方式取决于你使用的是Java 8 或更早版本,还是Java 9或更高版本。从Java 9开始,Java获得了一些模块,这些模块在短期内会使编译有些复杂,但从长期来看应该会有所帮助。 一、 适用于Java 8和更早版本的Maven Java编译器 从Java 8 和更早版本开始,.原创 2021-06-21 16:53:39 · 17422 阅读 · 1 评论 -
JDK1.8中的try-with-resources声明
JDK1.7开始,java引入了 try-with-resources 声明,将 try-catch-finally 简化为 try-catch,这其实是一种语法糖,在编译时会进行转化为 try-catch-finally 语句。新的声明包含三部分:try-with-resources 声明、try 块、catch 块。它要求在 try-with-resources 声明中定义的变量实现了 AutoCloseable 接口,这样在系统可以自动调用它们的close方法,从而替代了finally中关闭资源的功.转载 2021-05-20 16:32:43 · 499 阅读 · 0 评论 -
利用java反射调用类及父类的的私有方法
/** * 利用递归找一个类的指定方法,如果找不到,去父亲里面找直到最上层Object对象为止。 * * @param clazz 目标类 * @param methodName 方法名 * @param classes 方法参数类型数组 * @return 方法对象 * @throws Exception */ public static Method getMethod(Class clazz, String methodName, final Class[] cl原创 2021-04-21 22:28:50 · 1074 阅读 · 1 评论 -
Maven的多模块 Spring MVC + Spring + Mybatis 项目的搭建
为什么要搭建多模块的maven项目? 项目结构 项目整体目录 各模块的依赖关系 Maven多模块项目...转载 2021-03-31 11:28:51 · 764 阅读 · 0 评论 -
POI实现EXCEL单元格合并及边框样式
POI实现EXCEL单元格合并及边框样式 下面例子为创建产生一个excel,合并单元格,然后为合并后的单元格添加边框 package test; import java.io.FileOutputStream;import java.io.IOException; import org.apache.poi.hssf.usermodel.HSSFCell;import org.apache.poi.hssf.usermodel.HSSFCellStyle;import org.ap转载 2021-03-15 10:50:02 · 3788 阅读 · 2 评论 -
Java 8 lambda表达式list操作分组、过滤、求和、最值、排序、去重
java8的lambda表达式提供了一些方便list操作的方法,主要涵盖分组、过滤、求和、最值、排序、去重。跟之前的传统写法对比,能少写不少代码。 新建实体类 package com.vvvtimes.vo; import java.math.BigDecimal;import java.util.Date; public class User { private Long id; //姓名 private String name; //年龄转载 2021-03-12 17:56:08 · 710 阅读 · 1 评论 -
Java synchronized 详解
转载自:https://www.jianshu.com/p/ea9a482ece5f 由于同一进程的多个线程共享同一片存储空间,在带来方便的同时,也带来了访问冲突这个严重的问题。Java语言提供了专门机制以解决这种冲突,有效避免了同一个数据对象被多个线程同时访问。需要明确的几个问题:synchronized关键字可以作为函数的修饰符,也可作...转载 2018-06-27 15:48:01 · 117 阅读 · 0 评论 -
Java中Synchronized的用法
原文:http://blog.csdn.net/luoweifu/article/details/46613015 作者:luoweifu 转载请标名出处《编程思想之多线程与多进程(1)——以操作系统的角度述说线程与进程》一文详细讲述了线程、进程的关系及在操作系统中的表现,这是多线程...转载 2018-06-27 09:40:18 · 108 阅读 · 0 评论 -
Spring—学习笔记#day02
目录1、环境搭建第一步:在基于注解的配置中,我们还要多拷贝一个 aop 的 jar 包第二步:使用@Component 注解配置管理的资源第三步:创建 spring的 xml 配置文件并开启对注解的支持2、spring中ioc的常用注解2.1用于创建对象的2.1.1@Component2.1.2@Controller @Service @Repository...转载 2019-12-20 13:20:18 · 133 阅读 · 0 评论 -
Java当前文件路径
第一种:File f = new File(this.getClass().getResource("/").getPath());System.out.println(f);结果:C:\Documents%20and%20Settings\Administrator\workspace\projectName\bin获取当前类的所在工程路径;如果不加“/”File f = new File(this.getClass().getResource("").getPath());System.转载 2020-11-26 10:11:17 · 194 阅读 · 0 评论 -
Java的 :: 是什么语法?
一:简介方法引用分为三种,方法引用通过一对双冒号:: 来表示,方法引用是一种函数式接口的另一种书写方式静态方法引用,通过类名::静态方法名, 如 Integer::parseInt实例方法引用,通过实例对象::实例方法,如 str::substring构造方法引用,通过类名::new, 如 User::new二:方法引用public final class Integer { public static int parseInt(String s) throws NumberFor转载 2020-09-11 15:06:01 · 4803 阅读 · 0 评论 -
java内存模型JMM理解整理
什么是JMM JMM即为JAVA 内存模型(java memory model)。因为在不同的硬件生产商和不同的操作系统下,内存的访问逻辑有一定的差异,结果就是当你的代码在某个系统环境下运行良好,并且线程安全,但是换了个系统就出现各种问题。Java内存模型,就是为了屏蔽系统和硬件的差异,让一套代码在不同平台下能到达相同的访问结果。JMM从java 5开始的JSR-133发布后,已经成熟和完善起来。 内存划分 JMM规定了内存主要划分为主内存和工作内存两种。此处的主内存和工作内存跟JVM内存划转载 2020-07-27 15:46:05 · 296 阅读 · 0 评论 -
使用IKVMC转换Jar为dll动态库(含idea打包jar方法)
公司的一个Net项目要做一个加密解密文件的模块。也许是同事忙不过来了,想要Java这边帮忙搞一个模块然后转换成DLL给C#那边进行调用!面向网络编程(滑稽)后发现有一个工具可以搞定这个需求: IKVMC说明一下本人当前使用的环境:Java使用的集成编译环境是 IDEA 2019 3.4IKVMC的版本要和Java编译的版本一致:IKVMC 7.x 对应JDK 1.7 (这里用的是这一套)下载地址:ikvmbin-7.2.4630.5IKVMC 8.x 对应JDK 1.8下载原创 2020-06-16 15:49:56 · 4686 阅读 · 2 评论 -
JDK动态代理的底层实现原理
JavaEE的开发中,许多框架用到了动态代理机制,例如Spring的AOP编程。这里不介绍动态代理和静态代理概念,有兴趣的朋友自行百度。Java中的动态代理一般就两种:1. JDK自带 ; 2. cglib库由于笔者没用到cglib,所以这里介绍的是JDK动态代理的使用和原理分析。注意: 本文使用的JDK版本是JDK 1.8, 编译器 IntelliJ IDEA 2019.2.1。使用,...原创 2020-03-11 16:23:06 · 930 阅读 · 1 评论 -
JavaWeb开发之路
最近公司Android没啥事做,公司分配我去给Java后台帮忙,所以要开始学习JavaWeb后台知识了。网上找了一篇怎样开始JavaWeb后台开发的文章。与君共勉吧!转载自: https://www.cnblogs.com/gooder2-android/p/9405201.html 我没有什么本事,人也丑,也不会忽悠,只能硬着头皮学习了。最近计划学习Java后台,因为最近接了私活的问...转载 2019-10-09 11:28:25 · 132 阅读 · 0 评论 -
Prohibited package name: java.xxx...异常错误
最近在学习Java动态生成源代码技术, 于是研究JavaPoet这个库. 为了建立个人知识体系, 于是在IntelliJ IDEA建的项目中以java.poet新建了包名以方便知识树归纳, 在其中新建了Test测试类. 然而在测试使用JavaPoet过程, 第一次就报异常, 如下:java.lang.SecurityException: Prohibited package name: java...原创 2018-12-17 10:33:08 · 6868 阅读 · 0 评论 -
JavaBean规范
JavaBean规范(1)JavaBean 类必须是一个公共类,并将其访问属性设置为 public ,如: public class user{…}(2)JavaBean 类必须有一个空的构造函数:类中必须有一个不带参数的公用构造器(3)一个javaBean类不应有公共实例变量,类变量都为private ,如: private int id;(4)属性应该通过一组存取方法(getXxx...原创 2018-12-11 16:53:25 · 11267 阅读 · 0 评论 -
Java中Lambda表达式的使用
转载自: https://www.cnblogs.com/franson-2016/p/5593080.html简介(译者注:虽然看着很先进,其实Lambda表达式的本质只是一个"语法糖",由编译器推断并帮你转换包装为常规的代码,因此你可以使用更少的代码来实现同样的功能。本人建议不要乱用,因为这就和某些很高级的黑客写的代码一样,简洁,难懂,难以调试,维护人员想骂娘.)Lambda表达式是Java...转载 2019-01-07 10:13:49 · 305 阅读 · 0 评论 -
JAVA 使用相对路径读取文件
java 使用相对路径读取文件一. java project环境,使用java.io获取相对路径读取文件的例子:目录结构:DecisionTree |___src &转载 2019-01-02 17:19:49 · 121 阅读 · 0 评论 -
Java8 特性Stream
转载自: https://www.cnblogs.com/andywithu/p/7404101.htmllambda表达式是stream的基础,初学者建议先学习lambda表达式,http://www.cnblogs.com/andywithu/p/7357069.html1.初识stream先来一个总纲: 东西就是这么多啦,stream是java8中加入的一个非常实用...转载 2019-01-23 17:12:43 · 491 阅读 · 0 评论 -
Java实现AOP面向切面编程的实例教程
转载自: https://blog.csdn.net/albenxie/article/details/72783301这篇文章主要介绍了Java实现AOP面向切面编程的实例教程,通常Java中的AOP都是利用Spring框架中造好的轮子来开发,而本文则关注于Java本身AOP的设计模式实现,需要的朋友可以参考下介绍众所周知,AOP(面向切面编程)是Spring框架的特色功能之一。通...转载 2019-03-21 11:31:13 · 3894 阅读 · 1 评论 -
Java实现AOP的两种方式
转载自: https://blog.csdn.net/feigeswjtu/article/details/78741245知道Spring的都知道Spring的切面编程AOP(Aspect Oriented Programming),这里我们不讲Spring的切面,后面有机会我们再来解剖Spring的切面编程,我们想讲解一下普通的Java代码中怎么实现AOP,有两种方式实现AOP切面,一种是原...转载 2019-03-21 11:53:27 · 11277 阅读 · 0 评论 -
AOP——引言
转载自: http://wayfarer.cnblogs.com/articles/241012.html1、引言2、AOP技术基础3、Java平台AOP技术研究4、.Net平台AOP技术研究软件设计因为引入面向对象思想而逐渐变得丰富起来。“一切皆为对象”的精义,使得程序世界所要处理的逻辑简化,开发者可以用一组对象以及这些对象之间的关系将软件系统形象地表示出来。而从对象的定义,进而到模块,到组件...转载 2019-03-22 17:41:23 · 202 阅读 · 0 评论 -
AOP技术基础
转载自: http://wayfarer.cnblogs.com/articles/241024.html1、引言2、AOP技术基础3、Java平台AOP技术研究4、.Net平台AOP技术研究2.1 AOP技术起源AOP技术的诞生并不算晚,早在1990年开始,来自Xerox Palo Alto Research Lab(即PARC)的研究人员就对面向对象思想的局限性进行了分析。他们研究出了一种...转载 2019-03-22 17:50:55 · 687 阅读 · 0 评论 -
Java平台AOP技术研究
转载自: http://wayfarer.cnblogs.com/articles/241031.html1、引言2、AOP技术基础3、Java平台AOP技术研究4、.Net平台AOP技术研究3.1 Java平台AOP技术概览3.1.1 AOP技术在Java平台中的应用AOP在实验室应用和商业应用上,Java平台始终走在前面。从最初也是目前最成熟的AOP工具——AspectJ,到目前已经融和...转载 2019-03-22 18:04:30 · 304 阅读 · 0 评论 -
为什么我强烈建议大家使用枚举来实现单例
转载自 为什么我墙裂建议大家使用枚举来实现单例 关于单例模式,我的博客中有很多文章介绍过。作为23种设计模式中最为常用的设计模式,单例模式并没有想象的那么简单。因为在设计单例的时候要考虑很多问题,比如线程安全问题、序列化对单例的破坏等。单例相关文章一览:设计模式(二)——单例模式设计模式(三)——JDK中的那些单例单例模式的七...转载 2019-06-12 14:44:00 · 851 阅读 · 1 评论 -
ART、JIT、AOT、Dalvik之间有什么关系?
转载自: https://www.cnblogs.com/sjm19910902/p/6386472.htmlJIT与DalvikJIT是"Just In Time Compiler"的缩写,就是"即时编译技术",与Dalvik虚拟机相关。怎么理解这句话呢?这要从Android的一些特性说起。JIT是在2.2版本提出的,目的是为了提高Android的运行速度,一直存活到4.4版本,因为在4...转载 2019-06-17 09:54:42 · 177 阅读 · 0 评论 -
ThreadLocal详解(AtomicInteger相关)
ThreadLocal详解:. 注意, 本文是以熟悉HashMap源码为前提下开讲, 如果不熟悉HashMap的数据结构, 可以先行了解HashMap再来理解本文.. 本文以JDK1.7进行讲解.在学习Handler机制的过程中, 了解到Looper的成员属性消息队列MessageQueue是通过ThreadLocal实现了每个线程只有一个Looper对象,每个Looper对象只有一个Me...原创 2019-07-08 16:50:01 · 1216 阅读 · 0 评论 -
方法头-方法体-方法签名
定义方法签名:方法名称+参数列表(包括参数顺序和类型)注意,签名不包括方法的访问修饰符合返回类型应用重载和重写重载(Override):一个类中,定义的多个参数名相同但是参数列表不同的方法(签名不同)重写(Overlode):子父类中,子类定义的和其从父类继承而来的方法中方法签名完全相同的方法。注意:必须是从父类继承而来的方法。父类中的private方法,子类没有权限继承,因而重写不...原创 2019-07-27 15:00:06 · 3447 阅读 · 0 评论 -
IntelliJ IDEA maven配置以及本地仓库创建
一、maven下载和安装注意:安装maven前,需要先安装JDK。1、下载maven登录maven官网:http://maven.apache.org/download.cgi2、选择相应版本下载,本机是win7的64位系统,选择下载:apache-maven-3.6.1-bin.zip;**注:最新版3.6.2的有些问题,我这里选择下载版本3.6.1**3、 安装maven:解压...原创 2019-09-30 17:00:59 · 18175 阅读 · 4 评论