Java
Janebook
发现.学习.探索
展开
-
LocalDateTime、LocalDate、Date的相互转换及判断是否为今天
LocalDateTime 及 LocalDate 是 Java8 的新特性,有时为了兼容 Date 类型需要进行转换。转载 2023-08-25 20:10:07 · 1180 阅读 · 0 评论 -
[开发记录]2022开发琐碎记录
2022年开发中的一些常用内容记录原创 2022-09-04 20:26:37 · 241 阅读 · 1 评论 -
Java 常用知识点整理
面向对象的特征:抽象、封装、继承、多态。 修饰符的可见范围:private(当前类)->default(同一个包内)->protected(同一个包内所有类 +不同包子类)-> public(整个项目); 基本数据类型:byte、short、int、long、float、double、char、boolean;其他皆为引用类型。 保留字(Java中未用到):goto、const; 内存的栈(stack)、堆(heap)、方法区(metho...原创 2022-04-10 22:25:10 · 1161 阅读 · 1 评论 -
IDEA报错:File size exceeds configured limit
原文地址:https://my.oschina.net/shipley/blog/510762这两天尝试使用 IDEA, 发现一个问题File size exceeds configured limit (2560000). Code insight features not available.原因:IDEA对能关联的文件大小做了限制,主要是为了保护内存,默认值为2500kb,对于一般的java文件也够用了,只是这里我用protocbuf生成的java文件过大,达到3M多。...转载 2020-12-16 20:53:24 · 625 阅读 · 0 评论 -
JDK安装与环境变量配置
目录下载JDK安装JDK配置环境变量测试JDK是否安装成功环境变量详解JAVA_HOMEPathCLASSPATHCLASSPATH详解下载JDK到Oracle官网下载JDK安装JDK安装JDK时,除了修改安装目录,其他的一路【下一步】,傻瓜式安装。注:当提示安装JRE时,可以选择不要安装。因为JDK已经自带了JRE。安装JDK配置环境变量单击"计算机-属性-高级系统设置",单击"环境变量"。 新建->变量名"J.转载 2020-10-21 00:35:39 · 117883 阅读 · 21 评论 -
Java通过设置别名跳出外层(指定某层)循环
一、默认跳出break所在的循环public class JumpCycle { public static void main(String[] args) { for(int i=0; i<10; i++) { for(int j=0; j<5; j++) { if(j==3) { break; } System.out.pri...原创 2019-10-21 16:31:50 · 574 阅读 · 1 评论 -
Java垃圾回收机制(转载·有改动)
说到垃圾回收(Garbage Collection,GC),很多人就会自然而然地把它和Java联系起来。在Java中,程序员不需要去关心内存动态分配和垃圾回收的问题,这一切都交给了JVM来处理。顾名思义,垃圾回收就是释放垃圾占用的空间,那么在Java中,什么样的对象会被认定为“垃圾”?那么当一些对象被确定为垃圾之后,采用什么样的策略来进行回收(释放空间)?在目前的商业虚拟机中,有哪些...转载 2019-08-19 16:15:13 · 113 阅读 · 0 评论 -
Java四种引用类型
引用与对象每种编程语言都有自己操作内存中元素的方式,例如在 C 和 C++ 里是通过指针,而在 Java 中则是通过“引用”。在 Java 中一切都被视为了对象,但是我们操作的标识符实际上是对象的一个引用(reference)。//创建一个引用,引用可以独立存在,并不一定需要与一个对象关联String s;通过将这个叫“引用”的标识符指向某个对象,之后便可以通过这个引用来实现操作...转载 2019-08-19 16:47:03 · 94 阅读 · 0 评论 -
java中char类型转换成int类型的两种方法(转载·有改动)
方法一:通过 Integer.parseInt(str) 方法;char ch = '9';if (Character.isDigit(ch)){ // 判断是否是数字 int num = Integer.parseInt(String.valueOf(ch)); // 此处 parseInt 接收一个string作为参数 System.out.println(n...转载 2019-08-20 09:12:07 · 1882 阅读 · 0 评论 -
Java“位”操作符
1、“&”,按位与运算2、“|”,按位或运算3、“^”,按位异或运算4、“~”,按位非运算5、“<<”,左移位操作符,按照操作符右侧指定的位数将操作符左边的操作数向左移动(低位补0);6、“>>”,(有符号)右移位操作符,按照操作符右侧指定的位数将操作符左边的操作数向右移动。若为正数,高位插入0;若为负数,则插入1;7、“>>&g...原创 2019-08-13 11:12:45 · 149 阅读 · 0 评论 -
简单工厂模式(Java)
1、定义一个接口或者一个抽象类package factoryPattern;/** * 定义一个抽象类,作为各种“交通工具”的父类 * 抽象类中的抽象方法必须被子类覆写 * @author Janebook * */public abstract class Vehicle { public abstract String getName();}2、定义父类或者父接...原创 2019-08-26 17:29:00 · 157 阅读 · 0 评论 -
树的遍历(中、后、先、层)
“X序遍历”,其中的“X”指的是当前的节点被执行的次序。例如,中序遍历,当前节点是在左右子树中间执行;后续遍历,是在左右子树执行之后执行。1、中序遍历首先处理左子树,然后是当前节点,最后是处理右子树。运行时间为O(N)。示例代码:按照中序打印二叉树的元素值 public void printTree() { if(isEmpty()) { System.out...原创 2019-09-05 16:06:45 · 306 阅读 · 0 评论 -
根据Map的value对key进行排序的一种方法尝试(Java)
前言:之前每次需要对HashMap的key进行排序,往往是将value全部取出存入一个数组,先进行一次对value的排序;然后再进行从map中按照排序好的value取出key。若还需要对value相同的key进行排序,就需要一个中间list存入value相同的key,按照key的“其他规则”排好之后,再向最终的结果数组中存。这种方法需要写大量的代码,工作量较大。于是,尝试通过比较器来实现对Map...原创 2019-09-23 21:57:48 · 306 阅读 · 0 评论 -
Java单例模式简单实现(singleton pattern)
单例模式,用来保证一个对象只能创建一个实例,同时,它还提供了对实例的全局访问方法。单例模式只由单个类组成,实现简单。为确保单例实例的唯一性,构造器都要被声明为私有(private),然后通过声明静态(static)方法实现全局访问,获得该单例实例。/** * 单例模式 * 所有的单例模式的(1)构造器都要被声明为私有的private, * (2)再通过声明静态方法static实现...原创 2019-07-27 15:18:02 · 182 阅读 · 0 评论 -
Java 栈(java.util.Stack源码)
综述:通过上述源码可知,Stack 类继承了 Vector 类(该类实现了List接口)。它的构造方法仅仅包括无参构造,创建一个空栈。栈结构即先进后出,可以将其看做一个有底的容器,放入元素从底部开始。后来的元素放入已有元素的上方,且完全遮住了已有的元素,只有取走后来的元素,才可以看到早入栈的元素,对早入栈的元素进行操作。方法介绍:1、入栈(将元素保存到栈顶)源码57行,...原创 2019-08-01 10:35:25 · 930 阅读 · 0 评论 -
Java继承中的“构造函数”
一、父类中没有定义任何构造方法代码示例:// 父类class Vehicle{}// 子类class Car extends Vehicle{ private String name; public Car(String name) { this.name = name; } @Override public String toString() { return...原创 2019-07-26 22:35:56 · 555 阅读 · 0 评论 -
Java中JDK,JRE和JVM之间的关系
Java中JDK,JRE和JVM之间的关系初学JAVA很容易被其中的很多概念弄的傻傻分不清楚,首先从概念上理解一下吧,JDK(Java Development Kit)简单理解就是Java开发工具包,JRE(Java Runtime Enviroment)是Java的运行环境,JVM( java virtual machine)也就是常常听到Java虚拟机。JDK是面向开发者的,JRE是面向使...转载 2019-02-18 15:04:39 · 925 阅读 · 0 评论 -
IntelliJ IDEA 中的Terminal中模拟实现通过命令行执行程序
1.代码及代码结构示例结构:代码示例:package chapter6;public class Demo6_6 { public static void main(String args[]){ System.out.println("1. 算法计算开始:"); try{ int x = Integer.par...原创 2019-02-28 09:43:29 · 11185 阅读 · 0 评论 -
eclipse快捷键
一、常用快捷键Ctrl+Alt+H 查看方法(函数)被调用的位置;Ctrl+D 删除一行;Ctrl+/ 注释或者取消注释;Ctrl+z 撤销;Ctrl+F11 运行程序;F11 Debug模...原创 2019-05-30 19:30:32 · 1503 阅读 · 1 评论 -
Java 数组元素的删除
Java数组的长度固定,因此无法直接删除数组中的元素。通过创建新的数组,将保留的原数组中的元素赋值到新数组来实现原数组元素的删除。同理,可以实现数组添加元素。package package1;import java.util.Arrays;public class ArrayTest1 { public static void main(String[] args) { ...原创 2019-05-28 10:17:15 · 63235 阅读 · 6 评论 -
Java关键字说明
一、概览 abstract assert boolean break byte case catch char class const continue default do do...原创 2019-05-24 10:11:29 · 339 阅读 · 0 评论 -
浅谈Java中的hashcode方法
☆转载出处(原博主排版清晰,建议可到原地址查看): https://www.cnblogs.com/dolphin0520/p/3681042.html哈希表这个数据结构想必大多数人都不陌生,而且在很多地方都会利用到hash表来提高查找效率。在Java的Object类中有一个方法: 1 publicnativeinthashCode(); ...转载 2019-06-10 13:14:21 · 152 阅读 · 0 评论 -
Java容器介绍
一、《Java编程思想》第四版容器介绍1、不包含抽象类和遗留构件出自书的第十一章“持有对象”,英文版的“HoldingYourObjects”,章末总结部分。总计只有四种容器:List、Set、Map、Queue。他们各有两到三个实现版本。常用的容器用黑色的粗线框表示。点线框表示接口,实线框表示普通的(具体的)类。带有空心箭头的点线表示一个特定的类实现了一个接口。实心...原创 2019-07-02 09:59:14 · 7881 阅读 · 0 评论 -
Java常见问题总结
1、关于lengthstring的长度为方法,需要使用“.length()”;数组的长度为属性,使用“length”。另外,容器 “Collection” 与 “Map”查看元素数量的方法为size()。2、关系运算符Java中没有诸如a<b<c,这样的连续进行关系判断的表达式写法,需要拆分来写:a<b && b<c 。3、Strin...原创 2019-07-13 21:11:34 · 278 阅读 · 0 评论 -
Java Map接口常用方法
接口定义:另个参数分别为K、V均为泛型表示。分别代表了Map中存入数值的key和Value的类型。Map接口中定义的方法,为接口下类的通用方法,包括HashMap、HashTable等,均可直接使用对应的方法。1、查看元素个数int size();2、判断Map是否为空boolean isEmpty();3、判断Map是否包括指定Keyboolean co...原创 2019-08-02 17:00:08 · 566 阅读 · 0 评论 -
Java多线程实现
概述:共有三种实现方法:(1)继承Thread类;(2)实现Runnable接口;(3)实现Callable接口(此方法为JDK1.5增加的方法)。实际开发中主要使用接口定义的线程类,即方法(2)与方法(3)。1、继承Thread类:java.lang.Thread是一个负责线程操作的类,任何类只需继承Thread类就能够成为一个线程的主类。主类必须有它的使用方法,线程启动的主...原创 2019-07-25 21:49:51 · 174 阅读 · 0 评论 -
Windows 10 配置Java 环境变量
下载 JDK下载地址:https://www.oracle.com/technetwork/java/javase/downloads/index-jsp-138363.html点击下载按钮:开始安装JDK:可以设置为你想安装的路径。环境变量配置1. 打开 环境变量窗口右键This PC(此电脑) -> Properties(属性) -> Ad...转载 2019-08-03 19:48:28 · 134 阅读 · 0 评论 -
Java中Scanner类nextInt之后用nextLine无法读取输入
本人也是刚开始学习java语言,在学习的过程中,老师让我们做一个模拟学生学籍管理系统的小程序。因为刚开始,做的是比较简单的,用switch语句做界面,然后配合Scanner 接收输入的数字进行跳转,完成各类操作。因为跳转时输入的是数字,而跳转后的操作要输入字符串,比如:“选择1添加学生信息…输入添加学生的姓名…”这类的操作在测试的时候总是无法输入字符串就像这个样子,先用nextInt()再用n...转载 2019-08-03 22:18:50 · 258 阅读 · 1 评论 -
Windows命令行执行Java文件
1. cmd打开命令行窗口2. cd 跳转到java文件目录例:cd /d E:\JavaProject\NormalCheckout3. 编译程序执行 javac 文件名.java,进行编译,生成:“文件名.class 文件”(字节码)。例:javac Hello.java 4. 解释程序执行 java 文件名作用目标为3中生成的“.class...原创 2019-01-07 11:01:51 · 1712 阅读 · 0 评论