java基础
java零基础入门级教程
兀行者(做个有情怀的java程序员)
成学广才,明志致远
展开
-
java.util 之 Arrays.sort()详解
1.简介Arrays.sort()是经过调优排序算法,时间复杂度可以达到O(n*log(n)),而没有经过优化的冒泡排序的平均时间复杂度为O(n^2)Arrays.sort() 重载了四类方法sort(T[] a):对指定T型数组按数字升序排序。sort(T[] a,int formIndex, int toIndex):对指定T型数组的指定范围按数字升序排序。sort(T[] a, Comparator<? supre T> c): 根据指定比较器产生的顺序对指定对象数组进行排序。原创 2021-07-22 10:41:26 · 3381 阅读 · 0 评论 -
Java常见错误及分析
1.java.lang.ArrayIndexOutOfBoundsException: 3数组索引超出绑定异常原因:获取的数组下标超出了声明数组的范围,数组范围为0~n未完待续。。。原创 2021-07-20 14:53:41 · 141 阅读 · 0 评论 -
Base64实现加密和解密’html文本‘
#BASE64一种较为简单的加密方式,效率较高,不能加密密码,可以加密图片或html文本等。public static void base64(String str) { byte[] bytes = str.getBytes(); //Base64 加密 String encoded = Base64.getEncoder().encodeToString(bytes); System.out.println("Base 64 加密后:"原创 2021-04-22 21:48:55 · 1033 阅读 · 0 评论 -
java中创建一个记录日志文件的方法
自己创建记录运行程序的错误记录,以便在需要时查看,还是挺有意思的。1.定义方法:public class LogUtil { //定义记录日志的方法 public static void Log(String msg){ try { //指向一个日志文件 PrintStream out = new PrintStream(new FileOutputStream("log.txt",true)); //改变一个输出方向原创 2020-11-04 15:16:37 · 1892 阅读 · 2 评论 -
IO中常用流模板(文件流、转换流、缓冲流、标准输出流等)
很多小盆友在日常开发中会用到I/O流,下面是我整理的标准I/O流输入、输出模板,仅供参考:一、文件专属1、FileInputSteam(字节输入流)模板 : //支持任意数据类型读取 FileInputStream fis = null; //定义一个字节流输入-->(读取数据) byte[] bytes = new byte[4];//准备一个byte数组 try { //指定数据读取地址,默认相对路径,项目名原创 2020-11-03 22:26:42 · 495 阅读 · 0 评论 -
java-集合-Map(详解)
java.util.Map接口:1、Map和Collection没有继承关系。2、Map集合以key和value的方式存储数据:键值对key和value都是引用数据类型。key和value都是存储对象的内存地址。key起到主导的地位,value是key的一个附属品。3、Map接口中常用方法:V put(K key, V value) // 向Map集合中添加键值对V get(Object key) // 通过key获取valuevoid clear(原创 2020-10-31 09:43:01 · 244 阅读 · 0 评论 -
java-集合-List接口(详解)
本篇以List接口的特点和方法为纲,加之以代码验证,清晰明了~1、List集合存储元素特点:有序可重复有序:List集合中的元素有下标。从0开始,以1递增。可重复:存储一个1,还可以再存储1.2、List既然是Collection接口的子接口,那么肯定List接口有自己“特色”的方法:以下只列出List接口特有的常用的方法:void add(int index, Object element)Object set(int index, Object element)Object get(i原创 2020-10-31 09:09:12 · 460 阅读 · 0 评论 -
java-集合-HashMap(详解)
HashMap集合:一、HashMap集合总结:1、HashMap集合底层是哈希表/散列表的数据结构。2、哈希表是一个怎样的数据结构呢? 哈希表是一个数组和单向链表的结合体。 数组:在查询方面效率很高,随机增删方面效率很低。 单向链表:在随机增删方面效率较高,在查询方面效率很低。 哈希表将以上的两种数据结构融合在一起,充分发挥它们各自的优点。 3、HashMap集合底层的源代码: public class HashMap{ // Ha原创 2020-10-30 11:34:55 · 627 阅读 · 0 评论 -
java-集合-泛型(详解)
1、JDK5.0之后推出的新特性:泛型2、泛型这种语法机制,只在程序编译阶段起作用,只是给编译器参考的。(运行阶段泛型没用!)3、使用了泛型好处是什么?第一:集合中存储的元素类型统一了。第二:从集合中取出的元素类型是泛型指定的类型,不需要进行大量的“向下转型”!4、泛型的缺点是什么?导致集合中存储的元素缺乏多样性!大多数业务中,集合中元素的类型还是统一的。所以这种泛型特性被大家所认可。public static void main(String[] args) { /* // 不使用泛原创 2020-10-30 09:24:40 · 316 阅读 · 0 评论 -
java-数组-遍历(for方法)
上代码: // int类型数组 int[] arr = {1,2,3,4,5,6}; System.out.println("常规遍历:"); // 遍历数组(普通for循环) for(int i = 0; i < arr.length; i++) { System.out.print(arr[i]+" "); } /* 增强for(foreach)原创 2020-10-30 08:45:46 · 1026 阅读 · 0 评论 -
Spring持久层(二)
前提:在Spring框架的基础下1.在pom.xml里导入Springjdbc及mysql、连接池的相关依赖:根据所需版本改变版本号即可!<!--jdbc--> <!-- https://mvnrepository.com/artifact/org.springframework/spring-jdbc --> <dependency> <groupId>org.springframework</groupId>原创 2020-10-29 12:34:31 · 81 阅读 · 0 评论 -
Spring持久层(一)
数据库连接池的优势:传统的JDBC访问数据库技术,每次访问数据库都需要通过数据库驱动器Driver和数据库名称以及密码等等资源建立数据库连接。这样的连接存在两大问题:频繁的建立数据库连接与断开数据库,这样会消耗大量的资源和时间,降低性能。数据库的连接需要用户名和密码等等,这些需要一定的内存和CPU一定开销。数据库连接池原理:数据源建立多个数据库连接,这些数据库连接会保存在数据库连接池中,当需要访问数据库时,只需要从数据库连接池中获取空闲的数据库连接,当程序访问数据库结束时,数据库连接会放回数原创 2020-10-29 10:21:11 · 158 阅读 · 0 评论 -
java基础之集合篇
1.概述1.1、什么是集合?有什么用?数组其实就是一个集合。集合实际上就是一个容器。可以来容纳其它类型的数据。集合为什么说在开发中使用较多? 集合是一个容器,是一个载体,可以一次容纳多个对象。 在实际开发中,假设连接数据库,数据库当中有10条记录, 那么假设把这10条记录查询出来,在java程序中会将10条 数据封装成10个java对象,然后将10个java对象放到某一个 集合当中,将集合传到前端,然后遍历集合,将一个数据一个 数据展现出来。1.2、集合不能直接存储基本数据类型,另外原创 2020-10-28 21:25:48 · 223 阅读 · 0 评论 -
如何优雅的重写equals方法?
其实不管用不用的到,每创建一个实例类,因为默认调用继承自Object类的equals方法,只能比较对象的地址是否相同,而不能比较对象的值。所以我们都应该重写equals方法,这是一种代码规范。1.创建实例类这里我创建了一个user类,属性有name和age;public class user{ private String name; private int age; public user(){//声明无参构造 } public user(原创 2020-10-28 17:25:34 · 1080 阅读 · 0 评论 -
java代码如何防止空指针异常(NullPointerException)的出现
空指针异常(Null Pointer Exception)是我们平时最容易碰到的,也是最令人讨厌的异常。本文介绍如何避免出现空指针异常。首先你要知道空指针异常为什么会出现:引用直接指向空对象,大概率是你没有取到某个对象;将8种基础类型的封装类赋值给对应的基础类。接下来看怎么防止异常:1. 前台提交数据到后台时很可能出现意外取不到数据(1)使用equals判断时:String password = null;password = request.getParameter("pass转载 2020-10-23 18:24:20 · 2131 阅读 · 0 评论 -
java中随机数生成的三种方式
第一种:new Random() public static void main(String[] args){ Random r = new Random(1); for(int i=0 ; i<5 ; i++) { int ran1 = r.nextInt(100); System.out.println(ran1); } }第二种: public static void main(String[] args) { R转载 2020-10-21 21:24:45 · 342 阅读 · 0 评论 -
Java-计算一个方法或代码片段的执行时间
因为特别有意思,所以在这里想写一下:首先我要告诉你一个你可能觉得没啥用的函数 currentTimeMillis():获取自1970年1月1日 00:00:00 000到当前时间的总毫秒数。 long nowTimeMillis = System.currentTimeMillis(); System.out.println(nowTimeMillis);或许小伙伴们该疑惑了,这个函数有什么用呢?可以计算某个方法执行时间:class A{ publ原创 2020-10-21 20:39:57 · 854 阅读 · 2 评论