- 博客(26)
- 收藏
- 关注
原创 项目第四天
1、JavaFx,GUI编程2、文件扫描、支持并发的文件扫描3、扫描出的文件存储 ->搜索工作持久化存储方案——数据库(sqlite:本地文件级别的数据库、一个库就是一个文件)演示:新建一个maven项目,在pox.xml中添加依赖:<dependencies> <dependency> <groupId>org.xerial</groupId> <artifac
2021-01-25 22:23:38 121
原创 项目第三天
昨天写的文件扫描是单线程的,现在要使用多线程。1、为什么要使用多线程?为了提升扫描速度、为了学习多线程2、Everything工具只适合NTFS文件系统。文件有添加/修改/更新的时候,有记录日志,所以采用了扫描日志,而不是扫描树的方式进行。如何通知主线程所有的任务已经完成?一种解法:构造任务的时候->传入带扫描文件夹->把它标记为dir任务:1、dir扫描出来——只需要扫描dir的孩子即可2、扫描出所有的孩子中,还是文件夹的,封装成任务提交给线程池
2021-01-21 01:51:32 131
原创 项目第二天 :表
关于制作表的学习:https://docs.oracle.com/javase/8/javafx/api/javafx/scene/control/TableView.html<S>表中对象的类先构造对象:public class Student { public int id; public int age; public String name; public String gender; public Student(int id,
2021-01-20 14:43:30 152 2
原创 CSS简介和应用
和 HTML 类似,CSS 也不是真正的编程语言,甚至不是标记语言。它是一门样式表语言,这也就是说人们可以用它来选择性地为 HTML 元素添加样式。CSS基础知识:https://devloper.mozilla.org/zh-CN/docs/Learn/Getting_started_with_the_web/CSS_basics...
2020-12-24 11:16:46 682
原创 HTML
一:HTML称为超文本标记语言,是一种标识性的语言。HTML是用来制作网页的标记语言 HTML是Hypertext Markup Language的英文缩写, 即超文本标记语言 HTML语言是一种标记语言,不需要编译,直接由浏 HTML语言是一种标记语言,不需要编译,直接由浏览器执行 HTML文件是一个文本文件,包含了一些HTML元素, HTML文件是一个文本文件,包含了一些HTML元素,标签等. HTML文件必须使用html或htm为文件名后缀 HTML是
2020-12-24 10:07:52 108
原创 反射枚举和Lambda总结
反射是什么?Java的反射(reflection)机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性,既然能拿到那么,我们就可以修改部分类型信息;这种动态获取信息以及动态调用对象方法的功能称为java语言的反射(reflection)机制。Java程序中许多对象在运行时会出现两种类型:运行时类型(RTTI)和编译时类型,例如:Person p = newStudent();这句代码中p在编译时类型为Person,运行时类型为Stu
2020-11-21 22:39:04 267 2
原创 Map和Set
Map:是一个接口类,该类没有继承自Collection,该类中存储的是<K,V>结构的键值对,并且K一定是唯一的,不能重复。K getKey() 返回 entry 中的 keyV getValue() 返回 entry 中的 valueV setValue(V value) 将键值对中的value替换为指定value public static void main(String[] args) { Map<String,String> map..
2020-11-17 21:11:02 78
原创 泛型,内部类
对于泛型,不要求怎么使用,要求看源码时能看懂就行。泛型的意义:1,自动进行类型的检查2,自动进行类型的转换泛型的一些重点:1,泛型时怎么编译的? 擦除机制--Object 2,泛型的类型 不参与类型的组成3,泛型的参数不能是简单类型看一个简单的泛型示例:class MyArrayList<T> { public T[] elem; public int usedSize; public MyArrayList() {
2020-11-17 18:21:42 361 2
原创 七种排序的学习
排序的稳定性:两个相等的数据,如果经过排序后,排序算法能保证其相对位置不发生变化。一个稳定的排序可以变成一个不稳定的排序,一个不稳定的排序不可能变成一个稳定的排序七种排序方法:1.插入排序:直接插入排序,希尔排序2.选择排序:选择排序,堆排序3.交换排序:冒泡排序,快速排序4.归并排序:归并排序排序方法 最好 平均 最坏 空间复杂度 稳定性 冒泡排序 o(n^2) o(n^2) o(n^2) o(1) 稳定 .
2020-11-15 22:54:06 188
原创 认识什么是优先级队列,堆
优先级队列(Priority Queue):数据结构应该提供两个最基本的操作,一个是返回最高优先级对象,一个是添加新的对象。优先级队列可以自动排序:public static void main(String[] args) { //PriorityQueue优先级队列 PriorityQueue<Integer> priorityQueue = new PriorityQueue<>(); priorityQueue.of
2020-11-15 20:12:31 110
原创 二叉树学习3非递归实现
上次学习了二叉树的前中后递归遍历和层序遍历以求及深度,宽度等,接下来又学习了二叉树的前中后序非递归的实现:利用栈的原理来实现//前中后序非递归实现: // 前序遍历 void preOrderTraversalNor(Node root) { if (root == null) return; Stack<Node> stack = new Stack<>(); Node cur = root; w
2020-11-12 00:37:16 70
原创 二叉树的学习2
关于二叉树的学习,最多的也就是二叉树的各种遍历,求结点,求深度,根据遍历方式创建,这几天学习了各种操作和oj上面的题,知识点没学太多,主要还是理解二叉树的遍历顺序。下面是关于二叉树的各种操作:import java.util.*;/** * Created with IntelliJ IDEA. * Description: * User: 联想 * Date: 2020-11-05 * Time: 10:42 */class Node { char val; N
2020-11-09 23:10:48 152
原创 MySQL基本操作语法总结
一,基本操作:1.显示所有数据库show databases;2.创建数据库create database if not exists 数据库名 character set utf8mb4;3.使用数据库(操作表,数据,先进入数据库,再操作)use 数据库名;4.删除数据库drop database if exists 数据库名;5.创建表create table if not exists 表名();6.删除表drop table if exists 表名;7.
2020-11-08 16:56:17 136
原创 二叉树的学习和应用1
树是一种非线性数据结构,特点:1,有一个特殊的节点,称为根节点,根节点没有前驱节点 2,除根节点外,其余节点被分成M(M > 0)个互不相交的集合T1、T2、......、Tm,其中每一个集合 Ti (1 <= i <= m) 又是一棵与树类似的子树。每棵子树的根节点有且只有一个前驱,可以有0个或多个后继 3,树是递归定义的。概念:重要概念:节点的度:一个节点含有的子树的个数称为该节点的度;如上图:A的为6树的度:一棵树中,最大的节点的度称为树的度;.
2020-11-06 23:22:19 96
原创 栈的实现:单链表,数组
在Java集合类当中是有栈的:StackStack中的方法:Stack构造方法,push往栈里放元素,pop弹出元素,peek得到栈顶元素不删除,isEmpty是否为空,isFull是否为满自己实现的Mystack:三种方法:顺序栈:和顺序表一样,用数组实现class Mystack { public int[] elem; public int usedSize; public Mystack() { this.elem = new int[5];
2020-11-03 22:36:23 72
原创 String:字符串类型
String:字符串类型。有多种构造方式,常用的有以下三种: //第一种用的最多 String str1 = "helloworld"; //第二种 String str2 = new String("helloworld"); //第三种 char[] array = {'h','e','l','l','o'}; String str3 = new String(array);“he
2020-10-29 00:16:00 842
原创 异常是什么和怎么去处理!--
为什么要学习异常?如果不处理异常,就会交给JVM处理异常,一旦交给JVM,程序就会异常终止。java中异常体系:错误和异常错误是代码中客观存在的,有两种方式处理:LBYL: Look Before You Leap. 在操作之前就做充分的检查. EAFP: It's Easier to Ask Forgiveness than Permission. "事后获取原谅比事前获取许可更容易". 也就是先操作, 遇到 问题再处理. 异常分为运行时异常(非受查异常)和编译时异常(受.
2020-10-27 23:57:31 749
原创 全面认识抽象类和接口
先来看一下普通类:class Shape { public int a = 10; //成员变量 public void draw() { //draw方法 } public void func(){ //func方法 }}再来看一下抽象类:abstract class Shape { public int a = 10 ; public abstract void draw() ;
2020-10-27 00:14:58 93
原创 面对对象编程3:多态
认识多态之前,先看一下什么是向上转型:父类引用 引用子类对象看代码:有注释class Animal { public String name; private int age; public Animal(String name){ this.name = name; } public void eat() { System.out.println(this.name+"eat()"); }}class C..
2020-10-26 19:58:23 149 2
原创 面对对象编程2:继承
OOP语言的特征:继承 封装 多态1,封装:通过private关键字来修饰成员方法或属性的一种行为。意义:<1,类的实现者<2,类的调用者,方便,只需要调用就好了。2,继承:直接上代码package com.extendseg;/** * Created with IntelliJ IDEA. * Description: * User: 联想 * Date: 2020-10-25 * Time: 23:41 */class Animal {...
2020-10-26 00:55:13 88
原创 面对对象编程的学习心得1:包
先了解一下基本知识:1,包(package):包是组织类的一种方式,使用包的目的是保证类的唯一性。简单举例:使用包就可以创建多个TestDemo怎么创建呢? src -> new ->Package 此时输入包名,然后右键包名,新建一个类,输入类名就行了。2,导入包中的类:在IDEA中,有时候在写代码的时候可以直接调用系统包,调用后可以鼠标放在调用的包上,按住Ctrl鼠标左键点击,可以进去看源代码,按住Alt+7,左侧会出现源码所有的方法。常见的系统包:1. j.
2020-10-25 23:17:55 136 1
原创 Java带头傀儡结点与不带头傀儡结点的双向单列表创建,附加部分面试题
作为一名小白,在学习链表中遇到许许多多的困难,只要相信自己可以,多画图帮助自己思考理解,比别人多努力,多写几遍,总会熟练地掌握链表,没有解决不了的困难,只有不努力的人。带头傀儡结点比较简单,下来先看一下创建代码和测试:创建class ListNode{ public int val; public ListNode next; public ListNode prev; public ListNode (int val){ this.val =
2020-10-25 01:13:36 224
原创 3个Java链表面试题:翻转,取中间,取倒数第k个
1、反转单链表:public Node reverseList(){ Node pre = null; Node newHead = null; Node cur = this.head; while (cur != null){ Node cueNext = cur.next; if (cueNext == null) { newHead = cur;
2020-10-21 22:25:14 102
原创 Java的入门第一课基础知识
学习目标:java的基础知识学习内容:掌握Java中变量和运算符的基本知识点学习时间:2020.10.10 星期六 8点-4点学习产出:# 学习目标:提示:这里可以添加学习目标例如:一周掌握 Java 入门知识学习内容:提示:这里可以添加要学的内容例如:1、 搭建 Java 开发环境2、 掌握 Java 基本语法3、 掌握条件语句4、 掌握循环语句学习时间:提示:这里可以添加计划学习的时间例如:1、 周一至周五晚上 7 点—晚上9点2、 周六上午 9 点-上午 1
2020-10-21 00:13:41 286
原创 轻松学会单链表的创建
学习目标:轻松学会单链表的创建学习时间:2020.10.20 星期二 12点-8点学习内容:本次构造单向、不带头、非循环的单链表顺序表:物理上是连续的,逻辑上也是连续的。单链表:物理上不一定是连续的,单逻辑上是连续的。接下来先展示一下一天的成果,初次接触,如有不足,轻踩class Node { public int data; public Node next;//存储对象引用 public Node(int data) { this.data
2020-10-21 00:11:52 104
原创 **类和对象的学习心得**
1,类和对象的定义:类就是一类对象的统称。对象就是这一类具体化的一个实例。2,类和类的实例化用类型创建对象的过程,称为类的实例化 1. 类只是一个模型一样的东西,限定了类有哪些成员. 2. 一个类可以实例化出多个对象,实例化出的对象占用实际的物理空间,存储类成员变量。创建:class Person{ //成员属性 public String name ; //访问修饰限定符:public private protecte...
2020-10-19 01:35:32 603
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人