![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java基础
文章平均质量分 82
qq_39093474
这个作者很懒,什么都没留下…
展开
-
Java 性能优化的 45 个细节
在JAVA程序中,性能问题的大部分原因并不在于JAVA语言,而是程序本身。养成良好的编码习惯非常重要,能够显著地提升程序性能。翻译 2024-05-15 18:02:55 · 27 阅读 · 0 评论 -
面试题:java 泛型详解-绝对是对泛型方法讲解最详细的,没有之一
泛型在Java中有很重要的地位,在面向对象编程及各种设计模式中有非常广泛的作用,什么是泛型?为什么要使用泛型?泛型,即“参数化类型”,一提到参数,最熟悉的就是定义方法时有形参,然后调用此方法时传递实参。那么参数化类型怎么理解呢?顾名思义,就是将类型由原来的具体的类型参数化,类似于方法中的变量参数。此时类型也定义成参数形式(可以称之为类型形参),然后在使用/调用时传入具体的类型(类型实参)。泛型的本质是为了参数化类型(在不创建新的类型的情况下,通过泛型指定不同类型来控制形参具体限制的类型)。翻译 2024-05-13 16:55:22 · 29 阅读 · 0 评论 -
Java8新特性-Stream
Stream作为Java8的一大亮点,它与java.io包里的和是完全不同的概念,Stream是对集合的包装,通常和Lambda一起使用,使用stream可以支持许多操作,如 map, filter, limit, sorted, count, min, max, sum, collect 等等。流(Stream)到底是什么呢?是数据渠道,用于操作数据源(集合,数组等)所生成的元素序列。集合讲的是数据,流讲的是计算。Java8中的lambda。原创 2023-04-27 09:06:48 · 473 阅读 · 0 评论 -
Java8新特性-Optional
类是Java8为了解决null值判断问题,借鉴类库的Optional类而引入的一个同名Optional类。类可以包含或不包含null值的容器对象。如果存在值,则isPresent方法将返回true,而get方法将返回该值。除了Optional类之外,还扩展了一些常用类型的Optional,用法基本上相似。类()是一个容器类,代表一个值存在或不存在,原来用null值表示一个值不存在,现在用Optional可以更好的表达这个概念,并且可以避免空指针异常。方法用途创建一个Optional 实例。翻译 2023-04-22 23:06:25 · 211 阅读 · 0 评论 -
史上最全Java8日期时间工具类
这是我总结的Java8日期工具类,应该是比较全面的,满足日常开发绝大部分需求,分享给大家,有错误之处,还望大神指教。翻译 2023-04-22 14:53:46 · 223 阅读 · 0 评论 -
Java8新特性-Lambda表达式
Lambda表达式(也称闭包),是Java8中最受期待和欢迎的新特性之一。Lambda表达式本质是一个匿名函数,但是它并不是匿名类的语法糖,它让 Java 开始走向函数式编程,其实现原理区别于一般的匿名类中的匿名函数,在Java语法层面Lambda表达式允许函数作为一个方法的参数(函数作为参数传递到方法中),或者把代码看成数据。Lambda表达式可以简化函数式接口的使用。函数式接口就是一个只有一个抽象方法的普通接口,像这样的接口就可以使用Lambda表达式来简化代码的编写。翻译 2023-04-22 14:47:10 · 510 阅读 · 0 评论 -
夯实基本功之:为什么不要用Date表示时间
好了,说了这么多,如果你项目里还在使用Date或者的话,答应我,二话别说,赶快全部偷偷去改掉,快!速度!跑步前进!翻译 2023-04-21 16:36:51 · 159 阅读 · 0 评论 -
夯实基本功之:如何去掉冗长的if/else代码
好了,先讲到这里吧,本文仅仅是抛砖引玉,使用了一个极其简单的示例来打了个样,然而其思想可以广泛地应用于实际复杂的业务和场景,思想真的很重要!不同分支做不同的事情,很明显就提供了使用工厂模式的契机,我们只需要将不同情况单独定义好,然后去工厂类里面。而且这样一来,以后假如我想扩充条件,只需要去枚举类中加代码即可,而不是去改以前的代码,这岂不很稳!这样的话以后想扩展条件也很容易,只需要增加新代码,而不需要动以前的业务代码,非常符合“在上面工厂模式代码的基础上,按照策略模式的指导思想,我们也来创建一个所谓的。翻译 2023-04-21 14:26:11 · 46 阅读 · 0 评论 -
深入理解Java注解类型(@Annotation)
文章目录1. 什么是Java注解2. 基本语法2.1 声明注解和元注解2.2 @Target2.3 @Retention2.4 注解元素及其数据类型2.5 编译器对默认值的限制2.6 注解不支持继承2.6 快捷方式(value)3. Java内置注解与其它元注解4. 注解和反射机制1. 什么是Java注解Java注解(Annotation)又称为Java标注,是JDK5引入的一种机制,Java语言中的类,方法,变量,参数和包等都可以标注。鉴于目前大部分框架(如Spring)都使用了注解简化代码并提高编翻译 2022-03-03 08:52:24 · 4161 阅读 · 0 评论 -
java构造器
一:构造器的特点1.构造器的名称必须和类名保持一致2.构造器没有返回值,没有void3.一个类中可以定义多个构造器,但是构造器的参数列表必须不同;4.如果类中没有带参数的构造器,就可以使用一个默认的构造器来创建对象,如果一旦有了带参数的构造器,默认的构造器就会被覆盖,如果需要,我们可以显示的定义一个默认的构造器。5.通过this(实参列表)可以调用本类中的构造器,但是必须注意,...原创 2018-12-11 19:17:43 · 120 阅读 · 0 评论 -
面向对象三大特征之一封装
一:什么是封装概念:隐藏实现细节,提供对外的接口好处:隐藏细节,安全性,模块化,代码重用,易用插件调试,利用维护。坏处:会影响执行效率。二:如何实现封装1.封装时我们使用private关键词来实现属性的私有化,这种属性只能在本类访问,如果其他类访问带有private属性的会报错。private int age;private String name; 上面就...原创 2018-12-07 16:50:35 · 174 阅读 · 0 评论 -
面向对象的概述
一:面向过程面向过程:分析解决问题的步骤,然后用函数一步步的调用实现二:面向对象1、oop(object oriented programming)面向对象编程2、面向对象的思想是:抽取一类具有相同属性和行为的事物,面向对象是以功能区分,而不是步骤,3、万物皆对象,但是八种数据类型不是对象4、引用类型:数组,类,接口三:类1、什么是面向对象?以事物为驱动的编程思...原创 2018-09-30 11:30:08 · 130 阅读 · 0 评论 -
局部变量与成员变量
一:局部变量1.在方法中或在语句块中2.局部变量必须赋初始值才能用3.都存储在栈中4.生命周期:定的时候产生,当前的方法,语句块,执行完毕就会消失二:成员变量1.在类里面定义2.可以不赋值3.存储在堆中4.生命周期:随着对象的消失而消失,会被jvm的垃圾处理机制回收了三:例子/* * 局部变量与成员变量*/public class LocalVa...原创 2018-10-09 09:09:35 · 179 阅读 · 0 评论 -
jdk的环境变量配置
1鼠标右键点击我的电脑,点开属性2 点击高级系统设置-----环境变量----------- 3配置环境变量JAVA_HOME=jdk安装路径JRE_HOME=jre安装路径PATH= .;%JAVA_HOME%\bin;%JRE_HOME%\binCLASSPATH=.;%JAVA_HOME%\lib;%JRE_HOME%\lib 4 测试进入cmd ...翻译 2018-08-27 16:54:20 · 100 阅读 · 0 评论 -
标识符
什么是标识符?在java语言中,对各种变量,方法,接口和类等命名时所使用的的字符序列就是标识符。标识符的规范1.有26个英文字母的大小写组成,_和$。2.数字0~93. 不能有数字开头,可以下划线和字母开头,要知名见意,区分大小写写法规范1.类和接口:首字符大写,多个单词组成,每个单词的首字母都要大写。形式为XxxYyy2.方法和变量:首字符小写,多个单词组成,后续...原创 2018-08-27 16:53:54 · 183 阅读 · 0 评论 -
java的运行机制
在doc的命令下运行java编译:javac 文件名.java执行:java 文件名一。java的优势1.面向对象2.跨平台java作为一种网络语言,其源代码被编译成.class字节码,由java虚拟机执行,3.简单一,java风格类似c++,c++程序员能很快地掌握java二,java摒弃了指针,结构,枚举等易引发内存问题的操作三,java提供了丰富的api,能够帮助我们快速开发...原创 2018-08-27 16:52:43 · 142 阅读 · 0 评论 -
冒泡排序
int [] arr= {1,5,63,2,5,46,4,5,13};//冒泡排序算法,从小到大排for(int i=0;i<arr.length-1;i++)for(int j=0;j<arr.length-1-i;j++) {if(arr[j]>arr[j+1]) {int t=arr[j];arr[j]=arr[j+1];arr[j+1]=t;}}//冒...原创 2018-08-27 16:53:44 · 152 阅读 · 0 评论 -
选择排序
//从小到大的选择排序int[] arr= {1,4,5,6,4,8,9,5,10,6,3};for(int i=0;i<arr.length-1;i++) {for(int j=i+1;j<arr.length;j++) {if(arr[i]>arr[j]) {int t=arr[i];arr[i]=arr[j];arr[j]=t;}}}for(int...原创 2018-08-27 16:53:17 · 99 阅读 · 0 评论 -
单例模式
1. 单例模式之饿汉模式: //创建一个静态的私有的对象private static Singleton singleton=new Singleton();//私有的构造器private Singleton() {}//静态的方法获得对象public static Singleton getSingleton() {return singleton;}...原创 2018-08-27 16:52:15 · 87 阅读 · 0 评论 -
二分法
package day8;public class ErFenFa {/** * 二分法:只能排列有顺序的数组 * @param args */ public static void main(String[] args) { int [] arr= {1,5,6,8,4,2,6,9,1,3,5}; ErFenFa.sort(arr);//排序 //输出数组 for(int i:arr) ...原创 2018-05-29 09:47:00 · 146 阅读 · 0 评论 -
数组的倒置
public static void main(String[] args) { // 数组的初始化 int arr[]={1,2,3,4,5,6,7,8,9}; //增强的for循环 for(int i=0;i<arr.length;i++){ System.out.print(arr[i]); } //数组的倒置 for(int i=0;...原创 2018-09-26 11:50:17 · 429 阅读 · 0 评论 -
数组
一:数组的定义定义:用于存储同一类型数据的集合,形象的说数组就是一个容器,是一个连续的存储单元二:数组的优势自动的给数组中的元素从零开始编号,长度为length方法自动计算。三:数组的初始化1、第一种:数据类型[] 数组名=new 数据类型[数组的长度]int arr[]=new int[1];int[] arr1=new int[8];//[]放在数组名前...原创 2018-09-26 15:49:27 · 98 阅读 · 0 评论 -
jdk的下载
1、输入http://www.oracle.com/technetwork/java/javase/downloads/index.html,可以看到最新版本的jdk2. 如果想下以前的版本可以直接通过这个网站http://www.oracle.com/technetwork/java/javase/archive-139210.html。。自己选择喜欢的版本。3、要点击accep...原创 2018-08-27 16:54:05 · 168 阅读 · 0 评论