声明 : 本攻略针对的是Intellij IDEA Version 2016.2.5 就是在eclipse中, 在source folder下的文件, 如果是java文件, 会在工程设置的output folder的位置编译成class字节码文件, 如果是xml properties文件, 会原封不动地复制到 工程设置的output folde的位置. 但是source folder里边
Read More
转载 2018-09-08 20:15:00
81阅读
2评论
FileWatcher能实现对某一目录的文件(新建,改名,内容修改,删除)的实时监视[代码]注:如果目录下还有子目录,FileWatcher默认情况下并不能监视到子目录下的文件,可以通过设置watcher.IncludeSubdirectories = true; 解决这个问题源代码下载:://files.cnblogs./yjmyzz/FileWatcher.rar
转载 2009-06-07 19:59:00
183阅读
2评论
# Java logging 中FileWatcher监听配置文件更新 在Java应用程序中,经常会使用配置文件来保存一些可变的参数,比如数据库连接信息、日志级别等。当这些配置信息发生变化时,需要及时更新应用程序中的相应参数,以确保应用程序的正常运行。本文将介绍如何使用Java logging中的FileWatcher来监听配置文件的更新,并以此为例,展示FileWatcher的使用方法。 #
原创 2024-02-05 08:51:12
148阅读
经历的几天的分析,希望把自己学到的知识总结一下。系统版本:Windows Server 2008 R2 Standard系统类型:64bit内存:32GB程序:在系统上部署了solr,然后写5个线程不停的向solr查询。问题现象:任务管理器中物理内存一直增长,最后到了99%。但是进程占用的内存加起来不到10G。分析:第一步:怀疑java程序内存溢出。工具:jvisualvm与eclipse mat
转载 2024-05-14 13:35:13
75阅读
一、行业背景 盛夏已至,暴雨来临,担心水库河流安全隐患,还要增派人手在雨季24小时值守吗?不必担心,东用科技可实现24小时实时监测河道水位、雨量、流量、水质、视频监控等目标因子在线实时监测,阈值超限报警提示,助力一线巡河效率提升80%以上,降低人力物力资源成本,保障河流水系统健康状态。二、方案介绍针对汛期的防洪防汛需求,利用数据传输单元完成前端监测点的水利遥测终端如水位计、流量计、雨量传感器、视频
转载 2024-06-07 21:57:36
53阅读
Java SE 7 Tutorial中增加了一个监控目录变更情况的示例,用于介绍其新发布的WatchService API。   但对于用惯了.NET FileWatcher的用户而言,如果用于项目我认为它有两个欠缺: 1、应该提供一个独立线程后台运行机制,让这个监控过程自己在后台转,不影响前端处理 2、 Java不像.NET有内置的源生事件机制,不过可以借助它内置的Observer/Observ
转载 2014-10-20 11:25:00
381阅读
2评论
1.Set接口下的关系 /–Collection /----Set /---------HashSet 主要实现类 /-------------linkedHashSet 主要实现类 /---------SortedSet 接口 /-------------TreeSet 主要实现类2.Collection与Set的关系Set是不可重复,无序的集合,继承了Collection接口,但是Set并没有
转载 2023-12-06 20:24:05
17阅读
Java NIO原理及使用运行环境:idea2018,jdk11简述1、比较IONIO数据处理字节或字符流(stream)块(channel)方向单向(InputStream/OutputStream)双向(读写)2、NIO(Non-blocking I/O),非阻塞IO,也可以理解为新IO(new I/O)。相对于传统的IO以字节或字符或单位传输,NIO以数据块的方式批量传输。突出的有点就是快速
转载 2023-07-11 12:51:13
84阅读
作为一名java的使用者,掌握其基本的运行原理与体系结构是必要的,下面我们通过一个简单的例子来简述java程序的运行过程与原理。创建一个小程序为了方便介绍,我们选择创建一个百看不厌的小程序"HelloWorld".(注:以下程序的实现需要事先安装好JDK)public class HelloWorld{ public static void main(String [] args){ S
转载 2023-06-25 16:17:29
61阅读
LockSupport工具类java.util.concurrent.locks.LockSupport是个工具类,主要作用是挂起和唤醒线程,该工具类是创建锁和其他同步类的基础。LockSupport类与每个使用它的线程都会关联一个许可证,在默认情况下调用LockSupport类的方法的线程是不持有许可证的。LockSupport是使用Unsafe类实现的。几个主要函数:void park()方法
转载 2024-01-17 09:05:39
42阅读
什么是AOP(1)面向切面编程,利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。 (2)通俗描述:不通过修改源代码方式,在主干功能里面添加新功能。AOP底层原理1. AOP底层使用动态代理(1)有接口情况:使用JDK动态代理,创建接口实现类的代理对象,增强类的方法。 (2)没有接口情况:使用CGLIB动态代理,创建当前类
转载 2023-08-31 19:57:33
68阅读
编译简介在谈到JIT前,还是需要对编译过程有一些简单的了解。在编译原理中,把源代码翻译成机器指令,一般要经过以下几个重要步骤:JIT简介JIT是just in time的缩写,也就是即时编译。通过JIT技术,能够做到Java程序执行速度的加速。那么,是怎么做到的呢?我们都知道,Java是一门解释型语言(或者说是半编译,半解释型语言)。Java通过编译器javac先将源程序编译成与平台无关的Java
转载 2024-01-11 23:26:20
58阅读
下面是我对synchronized的理解并发问题其实就是对线程之间对资源的获取出现了竞争状态Java synchronized关键字是java提供的一种同步机制。也属于锁机制。synchronized可称互斥锁java是面向对象的语言。我们知道对象都是继承Object的。也就是说所有对象都有共性。可能常见的共性大家都清楚但是其实java对每个对象都有Monitor对象相关联。而synchroniz
Spring Boot 有一个很方便的功能就是可以将应用打成可执行的 Jar。那么大家有没想过这个 Jar 是怎么运行起来的呢?本篇博客就来介绍下 Spring Boot 可执行 Jar 包的运行原理
简介: Instrumentation 是 Java 5 提供的新特性。使用 Instrumentation,开发者可以构建一个代理,用来监测运行在 JVM 上的程序。监测一般是通过在执行某个类文件之前,对该类文件的字节码进行适当修改进行的。下文将通过一个具体的例子,来展示 java.lang.instrument 包的工作原理,并且实现了一个测量函数运行时间的代理。不使用instrum
转载 2023-08-12 22:33:04
44阅读
       做开发的都知道,编程语言可以从运行时还是编译时检查分为动态类型和静态类型。对于Java来说,通常认为它是静态的强类型语言,但是因为Java提供反射的机制,也具备了部分动态类型语言的能力。这一节,我们就讲一讲Java的动态代理。      动态代理是一种用于运行时动态构建代理,动态处理代理方法调用的机制。它首先是一种
转载 2023-07-07 14:27:39
27阅读
简而言之:序列化的作用就是为了不同jvm之间共享实例对象的一种解决方案.由java提供此机制,效率之高,是其他解决方案无法比拟的.自家的东西嘛.3、简单示例首先创建一个Person类importjava.io.Serializable;public class Person implementsSerializable{privateString name;privateInteger age;p
本文整理自《Java并发编程的艺术》第二章 作者:方腾飞 魏鹏 程晓明原子(atomic)本意是“不能被进一步分割的最小粒子”,而原子操作(atomic operation)意为“不可被中断的一个或一系列操作”。在多处理器上实现原子操作就变得有点复杂。让我们一起来聊一聊在Intel处理器和Java里是如何实现原子操作的。术语定义在了解原子操作的实现原理前,先要了解一下相关的术语:术语名称英文解释缓
都只是规范和标准 广义javaBean:一个普通的java类。 狭义javaBean:遵循了一定规范的java类(这里的规范有两点)。 第一:属性首字母小写而且是被private关键字修饰(OOP原则:隐藏数据) 第二:属性有对应的getters和setters方法(目的:读值和改值,对数据控制起来更加灵活) 使用javaBean的好处(结合servlet连接数据库理解): 封装好各种常用的方法,
转载 2023-08-19 11:02:50
48阅读
  • 1
  • 2
  • 3
  • 4
  • 5