![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java基础
文章平均质量分 87
李大瑞
这个作者很懒,什么都没留下…
展开
-
分布式锁的场景及解决方案
分布式锁的场景及解决方案原创 2022-10-28 10:48:16 · 2195 阅读 · 1 评论 -
生产机器CPU100%报警排查
背景生产机器有完备的监控报警系统,例如我们公司的报警系统,可以配置多维度的报警指标:收集线上服务机器的实时数据,一旦超过指标阈值即会出发报警。每个集团都有类似其他的运维报警平台,机制大同小异。可配置的指标有cpu,内存,磁盘,oom,coredump等等。问题接到监控中台高频次的cpu-alarm报警通知,且线上多台机器连续报警。线上服务出现问题,登陆线上机器进行排查。排查方案排查方案大体有以下几个步骤:1、执行top命令登陆发生cpu报警的机器,..原创 2020-12-09 12:05:25 · 1526 阅读 · 0 评论 -
JVM类加载机制与双亲委派模型及其破坏的问题
1、JVM类加载机制2、双亲委派模型3、双亲委派模型破坏,JDBC,Tomcat,原因解释。以下是整理的笔记。(请略过64,65)原创 2020-03-26 11:37:13 · 349 阅读 · 0 评论 -
JVM虚拟机内存模型与垃圾回收与JVM调优实践
花了几天的时间整理学习的笔记,分享给大家。HotSpot 虚拟机内存模型10种垃圾回收算法的讲解JVM调优实践原创 2020-03-26 10:38:39 · 149 阅读 · 0 评论 -
Java定时任务
在应用开发中,经常需要一些周期性的操作,比如每5分钟执行某一操作等。这次,在我们的开发中,就有这么一个需求.某个功能执行需要的时间比较长,则决定采用定时器的方式,每隔一段时间系统自动执行此功能,当界面真正触发时,只需要简单的读取结果,而不需要执行复杂的逻辑判断.那如何实现此功能呢?要想实现它,首先我们需要认识了解几个jdk封装的类. Java.util.Timer:一种线程设施,用于安排以后原创 2015-05-26 16:40:13 · 1154 阅读 · 0 评论 -
http详解
1. 基础概念篇1.1 介绍 HTTP是Hyper Text Transfer Protocol(超文本传输协议)的缩写。它的发展是万维网协会(World Wide Web Consortium)和Internet工作小组IETF(Internet Engineering Task Force)合作的结果,(他们)最终发布了一系列的RFC,RFC 1945定义了HTTP/1.0版本。其中原创 2015-08-27 18:18:30 · 1510 阅读 · 0 评论 -
深入解析Java中的装箱和拆箱
自动装箱和拆箱问题是Java中一个老生常谈的问题了,今天我们就来一些看一下装箱和拆箱中的若干问题。本文先讲述装箱和拆箱最基本的东西,再来看一下面试笔试中经常遇到的与装箱、拆箱相关的问题。 以下是本文的目录大纲: 一.什么是装箱?什么是拆箱? 二.装箱和拆箱是如何实现的 三.面试中相关的问题 若有不正之处,请谅解和批评指正,不胜感激。一.什么是装箱?什么是拆箱?原创 2015-07-23 12:51:33 · 837 阅读 · 0 评论 -
java并发容器(Map、List、BlockingQueue)详解
Java库本身就有多种线程安全的容器和同步工具,其中同步容器包括两部分:一个是Vector和Hashtable。另外还有JDK1.2中加入的同步包装类,这些类都是由Collections.synchronizedXXX工厂方法。同步容器都是线程安全的,但是对于复合操作,缺有些缺点:① 迭代:在查觉到容器在迭代开始以后被修改,会抛出一个未检查异常ConcurrentModificationExc原创 2015-08-19 16:06:08 · 5113 阅读 · 0 评论 -
java.lang.OutOfMemoryError: PermGen space JVM内存参数配置
一、常见的Java内存溢出有以下三种: 1. java.lang.OutOfMemoryError: Java heap space ----JVM Heap(堆)溢出JVM在启动的时候会自动设置JVM Heap的值,其初始空间(即-Xms)是物理内存的1/64,最大空间(-Xmx)不可超过物理内存。可以利用JVM提供的-Xmn -Xms -Xmx等选项可进行设置。Heap的大小原创 2015-12-04 12:00:20 · 2400 阅读 · 0 评论 -
java7新特性监听文件夹改变
Java 7 uses the underlying file system functionalities to watch the file system for changes. Now, we can watch for events like creation, deletion, modification, and get involved with our own actions.原创 2016-02-29 17:02:58 · 1385 阅读 · 0 评论 -
Commons-Collections简介
如果你不熟悉Jakarta Commons话,那么很有可能你已经重新发明了好几个轮子。在你编写更多的普通的框架或工具之前,体验一下Commons吧。它将会大大地节约你的时间。太多的人自己写一个,其实是与Commons Lang中的StringUtils重复的StringUtils类,或者,开发者不知道从Commons Collections中重新创建工具,哪怕commons-collections原创 2015-05-14 12:57:28 · 7019 阅读 · 0 评论 -
Java NIO教程
Java NIO(New IO)是从Java 1.4版本开始引入的一个新的IO API,可以替代标准的Java IO API。本系列教程将有助于你学习和理解Java NIO。Java NIO提供了与标准IO不同的IO工作方式:Channels and Buffers(通道和缓冲区):标准的IO基于字节流和字符流进行操作的,而NIO是基于通道(Channel)和缓冲区(Buffe原创 2015-04-30 17:25:47 · 1348 阅读 · 1 评论 -
Java IO总结(含代码)
从API学起Java流操作有关的类或接口:Java流类图结构: 流的概念和作用流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象。即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输特性将流抽象为各种类,方便更直观的进行数据操作。 IO流的分类根据处理数据类型的不同分为:字符流和字节流根据数据流向不同分为:输入流和输出流原创 2015-04-30 17:18:34 · 1454 阅读 · 1 评论 -
hashcode()和equals()详解
1. 首先equals()和hashcode()这两个方法都是从object类中继承过来的。 equals()方法在object类中定义如下: public boolean equals(Object obj) { return (this == obj); } 很明显是对两个对象的地址值进行的比较(即比较引用是否相同)。但是我们必需清楚,当String 、Math、还有I转载 2014-12-22 16:44:52 · 1099 阅读 · 0 评论 -
java的字节流和字符流
java的IO流分两种流 字节流 InputStream OutputStream 字符流 Reader Writer 他们都是抽象类 具体实现 字节流 FileInputStream FileOutputStream 字符流 FileReader FileWriter 字符流处理的单元为2个字节的Unicode字符,分别操作字符、字符数原创 2015-03-23 17:33:18 · 1074 阅读 · 0 评论 -
Class.forName方法介绍
首先你要明白在java里面任何class都要装载在虚拟机上才能运行。这句话就是装载类用的(和new 不一样,要分清楚)。至于什么时候用,你可以考虑一下这个问题,给你一个字符串变量,它代表一个类的包名和类名,你怎么实例化它?只有你提到的这个方法了,不过要再加一点。 A a = (A)Class.forName("pacage.A").newInstance(); 这和你 A a转载 2015-02-27 09:44:52 · 1376 阅读 · 0 评论 -
运行时异常与一般异常的异同
Throwable是所有Java程序中错误处理的父类,有两种资类:Error和Exception。 Error:表示由JVM所侦测到的无法预期的错误,由于这是属于JVM层次的严重错误,导致JVM无法继续执行,因此,这是不可捕捉到的,无法采取任何恢复的操作,顶多只能显示错误信息。 Exception:表示可恢复的例外,这是可捕捉到的。 Java 提供了两类主要的异常:r原创 2015-02-27 08:39:25 · 1139 阅读 · 0 评论 -
多线程任务下FileUtils.copyURLToFile引起的线程阻塞问题及Java虚拟机stac
导读:Java多线程开发给程序带来好处的同时,由于多线程程序导致的问题也越来越多,而且对问题的查找和分析解决对于菜鸟程序原来是是件头疼的事。下面我就项目中使用多线程开发程序过程中遇到的问题做详细的分析和解决思路的分享。本人也属菜鸟,忘大神指点。项目描述:工作中要编写一份程序用于爬取某某网站上的大量图片。从HBase里面遍历出所有的爬取任务,开启固定大小的线程池Executors.new转载 2015-04-23 15:59:57 · 7261 阅读 · 0 评论 -
使用JavaMail发送邮件
使用JavaMail发送邮件需要用到mail.jar和activtion.jar两个包。该类实现了较完整的邮件发送功能,包括以HTML格式发送,添加附件和抄送人。下面是具体的代码:Mail.java:import java.util.Properties; import javax.activation.DataHandler; import javax.acti原创 2015-04-13 18:27:11 · 1066 阅读 · 0 评论 -
二分查找
二分查找算法基本思想二分查找算法的前置条件是,一个已经排序好的序列(在本篇文章中为了说明问题的方便,假设这个序列是升序排列的),这样在查找所要查找的元素时,首先与序列中间的元素进行比较,如果大于这个元素,就在当前序列的后半部分继续查找,如果小于这个元素,就在当前序列的前半部分继续查找,直到找到相同的元素,或者所查找的序列范围为空为止.用伪代码来表示, 二分查找算法大致是这个样子的:原创 2015-04-20 14:54:49 · 1052 阅读 · 0 评论 -
java中正则表达式的用法
在Java中,我们为了查找某个给定字符串中是否有需要查找的某个字符或者子字串、或者对字符串进行分割、或者对字符串一些字符进行替换/删除,一般会通过if-else、for 的配合使用来实现这些功能 。如下所示: Java代码 public class Test{ public static void main(String args[]) {原创 2015-04-15 16:29:30 · 1151 阅读 · 0 评论 -
EL表达式详解教程
EL 全名为Expression LanguageEL 语法很简单,它最大的特点就是使用上很方便。接下来介绍EL主要的语法结构:${sessionScope.user.sex}所有EL都是以${为起始、以}为结尾的。上述EL范例的意思是:从Session的范围中,取得用户的性别。假若依照之前JSP Scriptlet的写法如下:User user =(User)session.原创 2015-04-29 10:30:41 · 1141 阅读 · 0 评论 -
Java异常概述
一、Java中异常概述1.1Java异常结构Throwable可以用来表示任何可以被作为异常抛出的类。Throwable对象派生出两种类型:Error和Exception,前者用来表示编译时和系统错误,程序员往往不必关心;后者是可以被抛出的基本类型,需要程序员关注。RuntimeException是Exception的派生类,不同点将在2.2与2.3小结中描述。 Java的原创 2015-05-08 09:57:48 · 1443 阅读 · 0 评论 -
StringUtils工具类的常用方法
StringUtils 源码,使用的是commons-lang3-3.1包。下载地址 http://commons.apache.org/lang/download_lang.cgi以下是StringUtils的各项用法1.空字符串检查使用函数: StringUtils.isBlank(testString)函数介绍: 当testString为空,长度为零或者仅由空白字符(原创 2015-04-10 10:36:39 · 1162 阅读 · 0 评论