JAVA基础知识
Bonjour~Bridge
踏踏实实做基础的技术学习
展开
-
数据结构:树状数组(BitTree)
作用如果你需要经常修改一个数组中的值,同时又需要计算这个数组的前N项和,此时,你希望计算和的效率高一点的时候,就可以尝试树状数组关键方法update(i, v):更新第i个元素,加上Vsum(n): 查询序列前N个元素的和lowbit(int i):这个研究他的特征,不如直接打印结果,然后去感受效果更好我的理解过程我先把 lowbit(int i),也就是 i & -i,的结果,for循环全部打印尝试了一遍(代码注释中有)然后尝试理解update 和 sum的概念,然后DEBUG一原创 2022-03-01 23:31:01 · 534 阅读 · 0 评论 -
数据结构与算法分析:快速排序
适合已经会快速排序的算法的同学回忆主要步骤0. R = 最开始的下标,L = 末尾的下标1. 取下标R的值存入pivot,2. 从L开始由前往前找,找小于pivot的数,然后放入R的位置(此时相当于L是空的,因为数值被移走了),然后R向后移动一个位置3. 从R开始往后面找,找到大于pivot的数,然后放入L的位置,L向前移动一个位置4. 直到R == L为止,将R对应的下标赋值为pivot5. 递归重复上面的操作核心代码模拟private void sort(String[] tim.原创 2022-01-24 00:21:12 · 299 阅读 · 0 评论 -
java基础:手动编译java程序(引包,带目录)
这应该是很基础的,但我们习惯用IDEA等工具后,反而忘记了,这里我们测试Redis连接(我本地启动了redis,你本地不启动也不影响)准备材料workspace.zipWindow下实现解压上面的workspace,在地址栏中输入cmd进入workspace,cd workspace将jar引用到classPath中,让java能找到 SET CLASSPATH=.;D:\workspace\libs\jedis-3.3.0.jar ;注意需要修改成你的正式目录编译 javac c.原创 2021-11-09 11:48:21 · 1698 阅读 · 1 评论 -
IO基础篇:自动关闭接口AutoCloseable
介绍在没有AutoCloseable之前,我调用资源对象,调用完毕后,必须要关闭,否则可能出现资源耗尽的情况从名字就可以看出,AutoCloseable是一个可以自动保存资源并且关闭资源对象的接口,那么实现它的类就可以自动关闭资源,那怎样自动关闭呢?我们可以看下面例子:例子public class AutoCloseableDemo{ public static void main(String[] args) { try(FileDataAutoCloseable auto原创 2020-07-01 14:19:04 · 463 阅读 · 0 评论 -
Java基础篇:反射入门
反射入门篇幅有点长,但我不想打散了,因为只看其中一部分也没啥意义,所以分为了上中下3篇,写的不好的方面,希望大家指出简介反射能干什么?你只需要给我一个类的地址,我就能知道类的全部信息(类名称、父类、继承的接口、方法、属性、甚至实例化并赋值),那么下面我们就来看看它怎么办到的吧!预备工作这次我们准备用了一个Customer类,我们把它当成反射的对象,我们希望通过反射获取它的全部信息,我们先来看看这个类吧!Customer类,(包名有点随意了):(注意,下面要用)有一个无参数构造方法和一个pri原创 2020-07-02 16:34:15 · 159 阅读 · 0 评论 -
java I/O基础:字节流与字符流
简介java IO操作中,对数据的传输主要是字节流和字符流2种方式,下面我们分别了解一下字节流和字符流的操作和优缺点由于下面4个都是抽象类,所以代码例子都是使用对应的文件类(FileXXXX)实现的字节流顾名思义,就是用字节(byte)的方式传输数据,数据传输自然对应着输入(InputStream)和输出(OutputStream),这里输入和输出对应的对象是服务器(平时,也就是你的电脑),拿文件举例:我们代码中的文字存入磁盘的文件中,就称为输出,反之,则为输入。OutputStream以原创 2020-07-01 17:46:18 · 238 阅读 · 0 评论 -
Java基础:FIle类
简介File类,由于I/O很多案例都是用文件作为例子,所以,我们先了解一下File类操作常用文件操作无法就下面几种情况路径分隔符:File.separator,由于不同的操作系统,可能存在分割符号的差异,所以最好使用这个获得文件: File file = new File("D:" + File.separator + "test") ; // 获得D盘下test.txt文件创建新的文件 file.createNewFile();//默认情况下,IO流输原创 2020-07-01 15:48:26 · 131 阅读 · 0 评论 -
java基础篇:Runtime、System、cleaner、clone等基础类
Runtime描述运行时的状态,也就是说在整个的JVM之中,Runtime类是唯一一个与JVM状态有关的类,并且都会默认提供有一个默认的该类的实例化对象。单例模式实现,Runtime.getRuntime()保存的是JVM维护的系统信息 Runtime runtime = Runtime.getRuntime(); System.out.println("可用进程数:" + runtime.availableProcessors()); S原创 2020-06-21 17:38:34 · 181 阅读 · 0 评论 -
java基础篇:通过接口了解java类之CharSequence接口和AutoCloseable接口
我们了解了一个接口之后,就能快速的了解到它的子类有哪些能力,这样有助我们快速的了解java的基础类CharSequence接口是一个描述字符串结构的接口,在该接口中定义有如下操作方法JDK1.4之后才有的抽查方法:charAt、length、subSequence子类有:String、StringBuffer、StringBuilderCharSequence Str = "bridge" #描述的就是字符串AutoCloseable接口主要是用于日后进行资源开发的处理上,以实现原创 2020-06-21 17:27:54 · 199 阅读 · 0 评论 -
java基础篇:内部类
使用内部类的目的:可以轻松的访问外部类的私有属性和方法普通内部类外部类也可以轻松的访问内部类的私有成员和方法创建方式:外部类.内部类 内部类对象 = new 外部类().new 内部类()编译完成后,内部类class文件为“OuterInner.class”,其中Inner.class”,其中Inner.class”,其中$就是“.”的意思内部类创建之前,必须先创建外部类如果内部类定义为private,那么外部将无法创建内部类,也就无法使用内部类接口中的内部类抽象方法和接口,也可以.原创 2020-06-21 16:53:24 · 149 阅读 · 0 评论 -
Java中平时没怎么用,但是比较重要的基础语法(二)
编译和打包类的包名如下package com.bridge.www //包路径无相互引用编译“-d”:表示要生成的目录,而目录的结构就package"."表示在当前所在目录中生成程序文件javac -d . Hello.java //编译需要相互引用的编译当多个包相互导入时,编译顺序不容易把握,此时,我们可以交给jdk编译“包.*” 只会加载需要的类,不需要的类,并不会被加载javac -d . *.java使用jar命令打包对编译后的class文件才原创 2020-06-21 16:45:42 · 149 阅读 · 0 评论 -
Java中重要的基础语法(一)
JShell以前java程序员都羡慕python的jupyter的方便适用,现在不用了,JDK1.9之后我们也有自己的shell了,安装JDK1.9以及之后的版本,在命令控制台中,直接输入jshell,即可进入shell,突然想要验证什么方法,不用再打开IDEA或者写一个文本啦!C:\Users\Administrator>jshell| 欢迎使用 JShell -- 版本 10.0.1| 要大致了解该版本, 请键入: /help introjshell> System.out.p原创 2020-06-21 12:23:40 · 268 阅读 · 1 评论 -
JAVA基础篇:Annotation的使用、自定义、 获取Annotation值
我平时经常用Spring中的注解,但是对注解的基础知识了解了却不多,今天就整理了一下关于注解的相关基础知识。首先我们了解他的作用:作用对能够编译程序提供额外的编译提示,比如重写父类方法,没有它程序运行并不受影响提供应用程序执行时期可读取的组态信息,比如Spring中的注入标签一般我们用到注解分为2类,标准注解和自定义注解,注解的使用稍微简单些,稍微麻烦一点的就是自定义注解,我详细记录一下自定义注解标准注释标准注解我就不细说了,平时代码里面都用的到,下面看看列出了常用的4个标准注解!@Ov原创 2020-05-24 01:39:57 · 7192 阅读 · 2 评论