Java
dev_zyx
talk is cheap, show me code!
展开
-
Comparator接口(比较器)的Java8 Lambda表达式写法:
知识点:o1 - o2 是升序排序,o2 - o1 是降序排序。1. 一维数组的比较:// o1 - o2 是升序排序,o2 - o1 是降序排序。// 1. 方法1:Arrays.sort(intervals, (a, b) -> a[0] - b[0]);// 2. 方法2:Arrays.sort(intervals, new Comparator<int[]>() { @Override public int compare(int o1[], in原创 2020-10-02 11:30:05 · 2564 阅读 · 0 评论 -
手写线程池
1. 先定义一个保存任务的队列类,同时提供获取任务和添加任务的方法:// 1. 先定义一个保存任务的队列类,同时提供获取任务和添加任务的方法package com.company;import java.util.*;public class RunnableTaskQueue { /** * 定义一个LinkedList来做为存放任务的队列 */ private final LinkedList<Runnable> tasks = new Li转载 2020-09-28 22:56:07 · 234 阅读 · 0 评论 -
多线程生产者消费者模型
1. 基础知识:1. 什么是生产者-消费者模式:比如有两个进程A和B,它们共享一个固定大小的缓冲区,A进程产生数据放入缓冲区,B进程从缓冲区中取出数据进行计算,那么这里其实就是一个生产者和消费者的模式,A相当于生产者,B相当于消费者。2. 为什么要使用生产者消费者模式:在多线程开发中,如果生产者生产数据的速度很快,而消费者消费数据的速度很慢,那么生产者就必须等待消费者消费完了数据才能够继续生产数据,因为生产那么多也没有地方放啊;同理如果消费者的速度大于生产者那么消费者就会经常处理等待状态,所以为了原创 2020-06-02 23:41:55 · 1329 阅读 · 0 评论 -
手写单例模式
1. 静态内部类实现单例(线程安全、效率高)一。静态内部类实现:这种方式是 Singleton 类被装载了, instance 不一定被初始化。因为 SingletonHolder 类没有被主动使用,只有通过显示调用 getInstance 方法时,才会显示装载 SingletonHolder 类,从而实例化 instance 。注意内部类SingletonHolder要用static修饰且其中的静态变量INSTANCE必须是final的。public class Singleton {原创 2020-09-25 01:12:57 · 327 阅读 · 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-each循环中使用entries来遍历这是最常见的并且在大多数情况下也是最可取的遍历方式。在键值都需要时使用。Map<Int.转载 2020-09-21 01:10:37 · 248 阅读 · 0 评论 -
Java 集合框架
参考:由浅入深理解java集合(一)——集合框架 Collection、MapJava 集合框架数据结构与算法——常用数据结构及其Java实现java 中几种常用数据结构Java - 集合框架完全解析Java集合框架常见面试题.md详解Java集合框架,让你全面掌握!Java集合框架完全解析JAVA集合框架总结java.util.Collection [I] +--java.util.List [I] +--java.util.ArrayList [C]原创 2020-05-18 22:10:58 · 251 阅读 · 0 评论 -
Java正则表达式
Java 中使用正则表达式需要用到两个类,分别为 java.util.regex.Pattern 和 java.util.regex.Matcher。步骤如下:第一步,通过正则表达式创建模式对象 Pattern。第二步,通过模式对象 Pattern,根据指定字符串创建匹配对象 Matcher。第三步,通过匹配对象 Matcher,根据正则表达式操作字符串。代码如下:import...原创 2020-04-17 23:35:13 · 197 阅读 · 0 评论 -
Java的split()方法
参考:Java split() 方法Java中的split函数的用法字符串分割–java中String.split()用法JAVA split 用法java String.split()函数的用法分析[Java] String.split()的用法Java中Split函数的用法技巧...原创 2020-04-17 21:29:05 · 873 阅读 · 0 评论 -
HashMap的工作原理
前提已经很久没有写博客了,现在有时间再重新总结一下自己学习的东西,准备从基础开始重新整理java的基础知识。总结的文章是看了很多大神的文章,摘抄他们,自己整理一下,便于自己学习。自己整理一遍比我单纯看更能加深印象,而且也为以后的学习做一个积累。感谢各位大神的文章对我的帮助。此文章不为CSDN积分。一、Ha...转载 2020-04-14 18:06:43 · 825 阅读 · 0 评论 -
已过时的Java Applet程序在网页开发中的应用
Applet程序只能嵌入到HTNL网页中通过浏览器来运行,目的是为了增强网页的表现能力和交互方式。 新建一个Java Applet工程并编译运行:import java.applet.*; //引入Java Applet运行所需要的包//Applet程序本身是可视化的图形文件,因此需要引入awt包import java.awt.*; //定义JavaApplet类...转载 2019-03-31 21:50:03 · 1950 阅读 · 0 评论 -
"Library source does not match the bytecode for class"问题
问题如下图:解决方案:首先:There's nothing wrong with IDEA, nor your dependencies or local maven caches, it's correctly identifying the mismatch.Here's how to check:1. Open class in question2. Click "Show...原创 2019-03-31 18:46:11 · 8052 阅读 · 5 评论 -
在 Win10 系统下安装 JDK 及配置环境变量的方法
首先,在官网下载 JDK:Oracle 官网如上图所示,在 Oracle 官网下载 JDK,有一点需要注意,那就是在我们下载合适的 JDK 之前,需要先点击 标记 1 所在的按钮,选择接受。否则的话,直接点击 JDK 进行下载的时候,将会弹出如下界面:选择Accept License Agreement之后,再点击 JDK 进行下载就会弹出下载提示框了,如下图所示:下载...原创 2019-06-27 22:04:08 · 303 阅读 · 0 评论 -
Java内存优化和性能优化的几点建议
转载地址http://www.open-open.com/lib/view/open1399884636989.html1.没有必要时请不用使用静态变量 使用Java的开发者都知道,当某个对象被定义为stataic变量所引用,这个对象所占有的内存将不会被回收。有时,开发者会将经常调用的对象或者变量定义为static,以便提高程序的运行性能。因此,不是常用到...转载 2019-04-06 19:06:50 · 420 阅读 · 0 评论 -
Mysql-8安装+测试(Windows+java)
1.安装测试内容windows环境(默认已有)JDK1.8+eclipse(默认已有)MySQL-8.0.x下载安装工具(Navicat for MySQL)连接MySQLjava(mysql-connector-java)连接MySQL2.Mysql-8.0.x下载安装官网下载下载地址:https://dev.mysql.com/downloads/mysql...转载 2019-04-01 16:31:13 · 331 阅读 · 0 评论 -
Java的Map中的map.keySet()方法
该方法返回map中所有key值的列表。今天再代码中看到了Map集合中的HashMap的map.keySet()方法,首先看一下这个方法的定义 /** * Returns a {@link Set} view of the keys contained in this map. * The set is backed by the map, s...转载 2019-03-28 20:27:46 · 19594 阅读 · 4 评论 -
数据结构与算法(java版)
数据结构与算法(java版) 分类:数据结构与算法转自:http://blog.csdn.net/column/details/datastructureinjava.html 目录 (1)数据结构与算法概念解析 (2)数据结构之数组 (3...转载 2019-03-29 10:19:10 · 283 阅读 · 0 评论 -
JAVA常用数据结构及原理分析(面试总结)
最近准备面试,因此整理一份Java中常用的数据结构资料,方便面试;java.util包中三个重要的接口及特点:List(列表)、Set(保证集合中元素唯一)、Map(维护多个key-value键值对,保证key唯一)。其不同子类的实现各有差异,如是否同步(线程安全)、是否有序。 常用类继承树: 以下结合源码讲解常用类实现原理及相互之...转载 2019-03-28 21:35:05 · 168 阅读 · 0 评论 -
JAVA 测试程序代码运行时间
突然想准确的测试一下Java代码的执行时间,在网上找了一会。发现基本有以下两种方法:第一种是以毫秒为单位计算的。Java代码: //伪代码long startTime=System.currentTimeMillis(); //获取开始时间doSomeThing(); //测试的代码段long endTime=System.currentTi...转载 2019-03-28 22:45:48 · 548 阅读 · 0 评论 -
超详细设置Idea类注释模板和方法注释模板
网上找了一下,没有很详细且正确介绍Idea配置注释模板的,于是结合多篇文章自己琢磨整理出如下。设置类注释模板1.选择File–>Settings–>Editor–>File and Code Templates–>Includes–>File Header. 2.在右边空白处,编写自己的模板即可,注意Scheme是模板的生效范围,可选变量在de...转载 2019-03-29 12:18:32 · 392 阅读 · 0 评论 -
(六)详述 IntelliJ IDEA 设置 Sublime 代码颜色的方法
相信很多同学在使用 Sublime 时,看到那些五颜六色的代码感觉爽的不行,而反过来,再来看 IntelliJ IDEA 默认的代码颜色就感觉有些不爽啦!实际上,我们是可以通过「导入设置」的方式,来设置 IntelliJ IDEA 代码颜色的。在本文中,我们就给出在 IntelliJ IDEA 中设置代码颜色的方法。首先,下载「SublimeMonoKai」jar 包:如上图所...转载 2019-03-22 19:48:58 · 822 阅读 · 0 评论 -
【IDEA】向IntelliJ IDEA创建的项目导入Jar包的两种方式
转载请注明出处:http://blog.csdn.net/qq_26525215本文源自【大学之旅_谙忆的博客】欢迎点击访问我的站点:复制未来今天用IDEA,需要导入一个Jar包,因为以前都是用eclipse的,所以对这个idea还不怎么上手,连打个Jar包都是谷歌了一下。但是发现网上谷歌到的做法一般都是去File –> Project Structure中去设置...转载 2019-03-31 12:38:11 · 732 阅读 · 2 评论 -
深入理解Java中的重写和重载
深入理解Java中的重写和重载 重载(Overloading)和重写(Overriding)是Java中两个比较重要的概念。但是对于新手来说也比较容易混淆。本文通过两个简单的例子说明了他们之间的区别。定义重载简单说,就是函数或者方法有同样的名称,但是参数列表不相同的情形,这样的同名不同参数的函数或者方法之间,互相称...转载 2019-03-26 22:13:21 · 309 阅读 · 0 评论 -
IntelliJ中的main函数和System.out.println()快捷键
1、在IntelJ中和Eclipse中稍有不同,在Eclipse中,输入main再按Alt+/即可自动补全main函数,但是在IntellJ中则是输入psvm,选中即可2、在方法体内部有for循环,在IntellJ中是输入fori,然后会有一个提示,选中需要的for循环即可3、System.out.println();在IntellJ中是输入sout ...转载 2019-03-22 19:50:37 · 207 阅读 · 0 评论 -
Intellij idea智能提示设置
1. 忽略大小写敏感:打开设置(CTRL+ALT+S)搜索editor,找到“Code Completion”->点击Case sensitive completion后面的选择框,选中None,然后一路确定即可。如下图:2. 修改智能提示快捷键:点击 文件菜单(File) –> 点击 设置(Settings… Ctrl+Alt+S), –> 打开设置对话框。...转载 2019-03-22 19:50:21 · 583 阅读 · 0 评论 -
(*)史上最简单的 IntelliJ IDEA 教程
温馨提示:本教程的 GitHub 地址为「intellij-idea-tutorial」,欢迎感兴趣的童鞋Star、Fork,纠错。前言IntelliJ IDEA(简称 IDEA),是 Java 语言开发的集成环境,IDEA 在业界被公认为最好的 Java 开发工具之一,尤其在智能代码助手、代码自动提示、重构、J2EE 支持、各类版本工具(Git、SVN、GitHub 等)...转载 2019-03-22 19:49:59 · 377 阅读 · 0 评论 -
(七)详述 IntelliJ IDEA 插件的安装及使用方法
温馨提示:IntelliJ IDEA 支持非常多的插件,熟练的使用插件,能够有效提高我们的开发效率以及用户体验。正文首先,进入插件安装界面:Mac:IntelliJ IDEA -> Preferences -> Plugins;Windows:File -> Settings -> Plugins.标注 1:显示 IntelliJ...转载 2019-03-22 19:49:16 · 455 阅读 · 0 评论 -
(五)详述 IntelliJ IDEA 之 添加 jar 包
应用 IntelliJ IDEA 编程,知道如何添加 jar 是最基本的技能。在这里,作者将带着大家一起过一遍添加 jar 包的流程:首先,通过菜单栏中的“File”进入到“Project Structure”,然后,选择左侧的“Modules”,再选择右侧对应的“Dependencies”,接下来,点击最右侧“绿色的加号”,选择“1 JARs or director...转载 2019-03-22 19:48:45 · 311 阅读 · 0 评论 -
(四)设置 IntelliJ IDEA 主题和字体的方法
1 前言在博文「IntelliJ IDEA 之 HelloWorld 项目创建及相关配置文件介绍」中,我们已经用 IntelliJ IDEA 创建了第一个 Java 项目 HelloWorld,如下图所示:观察上图,大家有没有发现一些问题,例如,整个界面的字体是不是都太小了一点啊?不知道大家感受如何,反正博主看到这么小的字体,当真是头晕眼花啊!因此,接下来,就让我们一起尝试着...转载 2019-03-22 19:48:24 · 317 阅读 · 0 评论 -
(三)IntelliJ IDEA 之 HelloWorld 项目创建及相关配置文件介绍
在博文「IntelliJ IDEA 的使用界面介绍」中,我们通过创建一个 Static Web 项目大致了解了 IntelliJ IDEA 的使用界面。接下来,趁着这个热乎劲,我们来创建第一个 Java 项目HelloWorld,进入如下界面:如上图所示,点击Create New Project,进入如下界面:上面的界面,我们在前一篇博文中已经进行了介绍。在这里,我们选择J...转载 2019-03-22 19:48:05 · 279 阅读 · 0 评论 -
(二)首次运行 IntelliJ IDEA 示例
首先,双击打开 IntelliJ IDEA 的快捷方式:在此,需要说明:如果我们的电脑曾经安装过 IntelliJ IDEA,并且我们在卸载 IntelliJ IDEA 的时候没有删除其配置文件目录,那么在安装新版本后是不会出现首次运行的功能向导的;如果我们的电脑没有安装过 IntelliJ IDEA,或者是卸载 IntelliJ IDEA 的时候删除了 IntelliJ...转载 2019-03-22 19:47:50 · 338 阅读 · 0 评论 -
(一)在 Windows 系统下安装 IntelliJ IDEA 的方法
首先,进入官网下载 IntelliJ IDEA 可执行文件:https://www.jetbrains.com/idea/如上图所示,进入 Download IntelliJ IDEA 页面,我们可以看到 IntelliJ IDEA 分为两个版本,分别为:旗舰版(Ultimate)社区版(Community)其中,旗舰版是收费的,社区版则是免费的。至于两者的区别嘛,就...转载 2019-03-22 19:47:32 · 354 阅读 · 0 评论 -
IntelliJ IDEA 配置main方法补全
1.File->Settings->Editor->Live Templates 2.新增模板组 Template Group(Java) 3.选中创建的模板组 新增模板 Live Template(main) 4.填写模板内容 Template text 增加变量:光标会定位到变量方便修改,也可为空...转载 2019-03-22 19:51:02 · 380 阅读 · 0 评论 -
Java中的FileInputStream与FileOutputStream的基本使用详解
什么是InputStream和OutputStream? InputStream和OutputStream是抽象类,是所有字节输入流和输出流的父类。这里,我们首先要分清楚两个概念: InputStream(输入流):输入流是用来读入数据的。- - - > > >读入 OutputStream(输出流):输出流是用来写出数据的。- - - >...转载 2019-03-25 17:45:19 · 728 阅读 · 0 评论 -
Intellij Idea 代码格式化/保存时自动格式化
由于以前的项目中使用的是google style, 在这里也介绍使用google style的的方法。一、安装google-java-format preferences -> plugins -> Browse repositories… 搜索google-java-format 启用google-java-format 二、安装save action...转载 2019-03-23 19:25:07 · 6149 阅读 · 0 评论 -
IDEA中格式化代码快捷键
1. 一键格式化代碼: Ctrl+Alt+L2. 快捷键汇总链接:1. Intellij IDEA 快捷键整理(TonyCody)2. Eclipse常用快捷键汇总 注意:如果按Ctrl+Shift+F在win10上会出现字体的简繁转换,再重复按键一次就可以转换回来 ...转载 2019-03-23 19:21:37 · 509 阅读 · 0 评论 -
windows 控制台cmd乱码(及永久修改编码)的解决办法
windows 控制台cmd乱码的解决办法我本机的系统环境:OS Name: Microsoft Windows 10 企业版OS Version: 10.0.14393 N/A Build 14393有时在cmd中输出的中文乱码解决办法如下:在cmd中输入:CHCP 65001按En...转载 2019-03-29 22:26:41 · 5522 阅读 · 1 评论 -
解决IntelliJ IDEA控制台输出中文乱码问题
一、问题情况:IntelliJ IDEA 控制台输出中文乱码部分如图所示:二、解决方法:1.打开tomcat配置页面,Edit Configurations。2.选择项目部署的tomcat,在配置项VM options文本框中输入-Dfile.encoding=UTF-8,点击Apply或OK即可。3.尝试重启tomcat,乱码问题解决。...转载 2019-03-29 21:41:14 · 416 阅读 · 0 评论 -
Java——transient关键字及Java对象序列化
转载自:http://www.cnblogs.com/lanxuezaipiao/p/3369962.html哎,虽然自己最熟的是Java,但很多Java基础知识都不知道,比如transient关键字以前都没用到过,所以不知道它的作用是什么,今天做笔试题时发现有一题是关于这个的,于是花个时间整理下transient关键字的使用,涨下姿势~~~好了,废话不多说,下面开始:1. ...转载 2019-03-29 16:55:35 · 214 阅读 · 0 评论 -
java.lang.ClassCastException
ClassCastException,从字面上看,是类型转换错误,通常是进行强制类型转换时候出的错误。下面对产生ClassCastException异常的原因进行分析,然后给出这种异常的解决方法。这种异常是如何产生的呢?举一个比较形象的例子。Animal表示动物,Dog表示狗,是动物的子类,Cat表示猫,是动物的子类。看下面的代码:Animal a1 = n...转载 2019-03-25 22:10:50 · 2372 阅读 · 0 评论 -
idea调整jvm参数加快启动编译速度
原文链接:idea调整jvm参数加快启动编译速度内容如下:-Xms4096m-Xmx4096m-XX:ReservedCodeCacheSize=240m-XX:+UseConcMarkSweepGC-XX:SoftRefLRUPolicyMSPerMB=50-ea-Dsun.io.useCanonCaches=false-Djava.net.preferIPv4Stack=...转载 2019-03-22 19:52:40 · 5707 阅读 · 1 评论