java基础知识一

Java八股文一:java基础知识 文章目录一、Java 基础知识1、Object 类相关方法2、基本数据类型3、序列化4、String、StringBuffer、StringBuilder5、重载与重写6、final7、反射8、JDK 动态代理9、Java IO9、Java IO 一、Java 基础知识 1、Object 类相关方法 getClass 获取当前运行时对象的 Class 对象。 hashCode 返回对象的 hash 码。 clone 拷贝当前对象, 必须实现 Cloneable 接口。浅拷贝对基本类型进行值拷贝,对引用类型 阅读详情

Ⅰ  首先对于一个java开发的项目有一个整体性的了解认知,项目开发流程:

项目阶段:

1) 项目准备:

  a) 根据开会得到会议纪要,了解客户的需求情况

  b) 需求分析(需求分析文档)

  c) 数据库设计和网站(产品)原型设计

  d) 架构设计

2) 项目开发

  a) 项目组长(PM,PL)进行项目的时间规划,并划分好每个人的工作任务

  b) 程序员主要完成项目代码编写和详细设计文档编写。(用户手册)

3) 测试

  a) 单元测试

  b) 集成测试

  c) 压力测试

  d) 回归测试

4) 上线实施


Ⅱ  三大特性(封装、继承、多态)

    

封装

1、  封装重点在于一个private关键字,目的是为了让类中的属性不能直接修改或取得。也就是说,建立一个类时,所有的属性都必须通过private进行封装。

      既然属性被封装了,那么如果想设置或取得属性,就必须编写getter/setter方法。

      同时,类中在创建对象时,为了方便,一般建议编写一些带参数的构造方法。

      如果不编写构造方法,程序会自动加入一个无参的构造,但是,如果自己声明了构造方法,那么必须就手工加入一个无参构造,为了让其他的框架可以通过无参数构造来创建对象。

2、  如果数据库中有一张表,则需要你能根据表编写一个这样的类。

      这种类被称为:VO(Value Object)、TO(Transfer Object)、POJO(Plain Olds Java Object)、DTO(DaTa Object)等

class Person {
 2     private String name;
 3     private Integer age;
 4     public Person() {
 5     }
 6     public Person(String name, Integer age) {
 7         this.name = name;
 8         this.age = age;
 9     }
10     public String getName() {
11         return this.name;
12     }
13     public Integer getAge() {
14         return age;
15     }
16     public void setAge(Integer age) {
17         this.age = age;
18     }
19     public void setName(String name) {
20         this.name = name;
21     }
22 }

技巧:在eclipse中编写封装类,可以声明变量后,按shift+Alt+s键出现Generate  Getters  and  Setters提示创建getter和setter方法。

继承关系

继承所使用的关键字:extends,接口实现所使用的关键字是:implements。

Java开发中对于接口和抽象类区别主要是单继承和多继承。

真正开发中接口用的更多,几乎不编写抽象类。

一般都是以接口作为标准来进行声明。

这部分我们要求能够掌握接口的声明和实现方法。

 interface Animal {
 2     public void cry();
 3     public void run();
 4 }
 5 class Cat implements Animal {
 6 
 7     @Override
 8     public void cry() {
 9         System.out.println("miao");
10     }
11     @Override
12     public void run() {
13         System.out.println("猫爬树");
14     }
15 }

多态


    其实就是在继承的基础上进行方法覆写和子类转型。

package org.liky.test;
 2 public class InterfaceDemo {
 3     public static void main(String[] args) {
 4         Animal a1 = new Cat();
 5         Animal a2 = new Dog();
 6         a1.cry();
 7         a2.cry();        
 8     }
 9 }
10 interface Animal {
11     public void cry();
12     public void run();
13 }
14 class Cat implements Animal {
15     @Override
16     public void cry() {
17         System.out.println("miao");
18     }
19     @Override
20     public void run() {
21         System.out.println("猫爬树");
22     }
23 }
24 class Dog implements Animal {
25     @Override
26     public void cry() {
27         System.out.println("Wang");
28     }
29     @Override
30     public void run() {
31         System.out.println("狗游泳");
32     }
33 }

单例设计模式

单例模式有以下特点:

  1、单例类只能有一个实例。

  2、单例类必须自己创建自己的唯一实例。

  3、单例类必须给所有其他对象提供这一实例。

package org.liky.test;

public class TestSingleton {
    public static void main(String[] args) {
        Singleton s1 = Singleton.getInstance();
        Singleton s2 = Singleton.getInstance();
        Singleton s3 = Singleton.getInstance();  
                //其实只创建了一个对象
          System.out.println(s1 + " --> " + s2 + " --> " + s3);       
    }
}
class Singleton {
    private static final Singleton instance = new Singleton();
    private Singleton() {
    }
    public static Singleton getInstance() {
        return instance;
    }
}

Ⅲ  IO操作

文件内容读取:

File、FileReader、FileWriter、BufferedReader、BufferedWriter、Scanner、InputStreamReader

文件夹遍历:

File 

文件复制操作

如果想操作文件的内容(对内容进行写出和读取),需要使用到的就是IO流中的输入输出操作。

这种输入和输出的操作流有两种:

1) 字符流:主要操作文本文件(编写爬虫操作时,肯定要使用字符流来完成)

a) 读:FileReader

b) 写:FileWriter

2) 字节流:所有文件都可以使用这种流操作

a) 读:InputStream

b) 写:OutputStream

需要能够通过我们这里的FileReader和FileWriter配合文件类:File,完成内容的读取和写出。

/**
 * IO流操作的演示类,用来演示文本文件的写出和读取
 * 
 * @author Liky
 * 
 */
public class FileTest {
    public static void main(String[] args) {
        // 写出内容
        // writeData(
        // "D:/test.txt",
        // "这是“吉林一号”视频卫星 8月9日11时25分拍摄的 九寨沟县视频 显示了九寨沟县的地形地貌 县城呈狭长分布 周边山体有明显滑坡痕迹 视频中还可见县城道路大部分完好 有车辆通行 一架飞机飞过 地面与空中交通并未中断 图像提供:长光卫星技术有限公司 技术支持:北京爱太空科技发展有限公司");
        System.out.println(readData("D:/test.txt"));
    }

    /**
     * 写出数据
     * 
     * @param filePath
     *            文件保存的位置
     * @param data
     *            要保存的文件内容数据
     */
    public static void writeData(String filePath, String data) {
        // 先有一个文件,来保存要写出的数据
        File file = new File(filePath);
        // 建立输出流对象
        try {
            FileWriter writer = new FileWriter(file);
            // 开始完成内容的输出
            writer.write(data);
            // 资源必须回收,也就是必须将流关闭
            writer.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    /**
     * 读取数据
     * 
     * @param filePath
     *            要读取的文件所在的完整路径
     * @return 读取出来的文档内容
     */
    public static String readData(String filePath) {
        // 也要建立文件对象
        File file = new File(filePath);
        // 建立读取的输入流对象
        try {
            FileReader reader = new FileReader(file);

            // 每次调用read可以读取一个字符,
            // 按照int类型返回,返回的是字符的编码,
            // 需要通过强制类型转换,变为char类型
            // Java中对于String这个类一般不建议反复修改,因为会占用内存。
            StringBuilder builder = new StringBuilder();
            // 因为文件中有很多的字符,因此需要循环来进行内容的读取。
            // 就需要判断是否还有字符进行读取
            int value = -1;
            // 每次读取时,如果读到内容,则会返回 0 - 65535 的char类型字符
            // 如果没有读取到内容,则返回 -1 ,因此我们可以根据这个 -1 来判断后面是否还有内容
            while ((value = reader.read()) != -1) {
                // 将读取到的内容保存下来
                char c = (char) value;
                // 把字符放入到StringBuilder里
                builder.append(c);
            }
            // 没有读取到内容,说明循环结束,已经到了文件的末尾
            return builder.toString();
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }
}

目前这样编写已经可以实现内容的输入和输出操作了。

但是还不支持换行操作,如果想换行,需要人工进行\r\n的编写。

如果不想人工编写换行,就可以使用以下两个类来完成输入。

PrintWriter(打印流)

BufferedWriter(缓冲流)

public static void writeData(String filePath, String... data) {
 2         // 先有一个文件,来保存要写出的数据
 3         File file = new File(filePath);
 4         // 建立输出流对象
 5         try {
 6             // FileWriter writer = new FileWriter(file);
 7             PrintWriter pw = new PrintWriter(file);
 8             // 开始完成内容的输出
 9             for (String str : data) {
10                 pw.println(str);
11             }
12             // 资源必须回收,也就是必须将流关闭
13             pw.close();
14         } catch (IOException e) {
15             e.printStackTrace();
16         }
17     }

使用时,注意我们这里加入了可变参数来动态传入多个字符串(即String...  data)。

 

当读取数据时,如果我们使用普通的读取方式,对于换行的处理不方便。

如果想按行读取内容,可以使用BufferedReader,Scanner

Scanner是JDK1.5新的

BufferedReader是JDK1.0就有的,所以使用BufferedReader。

为什么现在还使用BufferedReader,因为Scanner不支持编码的转换。

 public static String readData(String filePath) {
 2         // 也要建立文件对象
 3         File file = new File(filePath);
 4         // 建立读取的输入流对象
 5         try {
 6             FileReader reader = new FileReader(file);
 7             BufferedReader bw = new BufferedReader(reader);
 8             // 每次调用read可以读取一个字符,
 9             // 按照int类型返回,返回的是字符的编码,
10             // 需要通过强制类型转换,变为char类型
11             // Java中对于String这个类一般不建议反复修改,因为会占用内存。
12             StringBuilder builder = new StringBuilder();
13             // 因为文件中有很多的字符,因此需要循环来进行内容的读取。
14             // 就需要判断是否还有字符进行读取
15             String line = null;
16             // 每次读取时,如果读到内容,则会返回 0 - 65535 的char类型字符
17             // 如果没有读取到内容,则返回 -1 ,因此我们可以根据这个 -1 来判断后面是否还有内容
18             while ((line = bw.readLine()) != null) {
19                 // 将读取到的内容保存下来
20                 // 把字符放入到StringBuilder里
21                 builder.append(line);
22                 System.out.println(line);
23             }
24             // 没有读取到内容,说明循环结束,已经到了文件的末尾
25             return builder.toString();
26         } catch (Exception e) {
27             e.printStackTrace();
28         }
29 
30         return null;
31     }

例如,将一个D盘的test.txt的内容读取出来,再写出到E盘的test.txt中

   public static void copyFile(String inputFile, String outputPath) {
 2         // 首先建立输入和输出的文件
 3         File input = new File(inputFile);
 4         File output = new File(outputPath);
 5         // 建立输入和输出流
 6         try {
 7             BufferedReader br = new BufferedReader(new FileReader(input));
 8             PrintWriter pw = new PrintWriter(output);
 9             // 每次读入一行,所以准备一个变量来接收
10             String line = null;
11             while ((line = br.readLine()) != null) {
12                 pw.println(line);
13             }
14             pw.close();
15             br.close();
16         } catch (Exception e) {
17             e.printStackTrace();
18         }
19     }

文件夹迭代

这里只需要用到一个File类,但需要用里面的一些方法来判断是文件还是文件夹

isFile():是否是文件

isDirectory():是否是文件夹

还需要通过递归操作,将目录下的所有子目录也进行迭代。

多线程处理

使用多线程的目的肯定是为了提升程序的效率。

因为在进行网络数据爬取时,一般都是同时爬取多个网页的数据,而不是单个网页,因此在项目开发中我们需要通过多线程,来让程序同时完成多个操作。

多线程有两种实现方式:

1) 继承Thread类

2) 实现Runnable接口

使用多线程时,还有两个必须注意的方法:

1) start()启动线程

2) run()编写线程执行的主体。

先来完成一个倒计时功能:

public class ThreadDemo {
    public static void main(String[] args) {
        // new MyThread().start();
        // new Thread() {
        // public void run() {
        // for (int i = 10; i >= 0; i--) {
        // System.out.println("剩余时间:" + i);
        // try {
        // Thread.sleep(100);
        // } catch (InterruptedException e) {
        // e.printStackTrace();
        // }
        // }
        // }
        // }.start();
        // new Thread(new MyRunnable()).start();
    }
}

//继承Thread类必须重写run类
class MyThread extends Thread {
    @Override
    public void run() {
        for (int i = 10; i >= 0; i--) {
            System.out.println("剩余时间:" + i);
            try {
                Thread.sleep(100);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
    }
}
class MyRunnable implements Runnable {
    @Override
    public void run() {
        for (int i = 10; i >= 0; i--) {
            System.out.println("剩余时间:" + i);
            try {
                Thread.sleep(100);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
    }
}

类集处理

List:允许重复,可以根据下标来取得数据,会按照放入的顺序来存储数据。

    ArrayList:以数组的形式存储,适合不经常变动,但经常查询的数据集。

    LinkedList:以链表的形式存储,适合经常变动的数据集,但是不经常查询

public class ListDemo {
 2     public static void main(String[] args) {
 3         LinkedList<Integer> list1 = new LinkedList<>();
 4         for (int i = 0; i <= 100000; i++) {
 5             list1.add(i);
 6         }
 7         long start = System.currentTimeMillis();
 8         for (int i = 0; i <= 100000; i++) {
 9             list1.get(i);
10         }
11         long end = System.currentTimeMillis();
12         System.out.println("ArrayList: " + (end - start) + " ms");
13     }
14 }

Set:不允许重复,存储顺序看心情,没办法根据下标取得数据

    HashSet:散列排序(没有顺序)

    TreeSet:二叉树排序,按照固定的规则来排序,TreeSet中的内容必须实现一个Comparable的接口,并且必须覆写compareTo的方法,根据给定的规则来排序。

 public class SetDemo {
 2     public static void main(String[] args) {
 3         Set<Person> set = new TreeSet<>();
 4         set.add(new Person("张三", 12));
 5         set.add(new Person("李四", 22));
 6         set.add(new Person("王五", 42));
 7         set.add(new Person("王八", 42));
 8         set.add(new Person("赵六", 32));
 9         System.out.println(set);
10     }
11 }
12 
13 class Person implements Comparable<Person> {
14     private String name;
15     private Integer age;
16 
17     public Person() {
18         super();
19     }
20 
21     public Person(String name, Integer age) {
22         super();
23         this.name = name;
24         this.age = age;
25     }
26 
27     public String getName() {
28         return name;
29     }
30 
31     public void setName(String name) {
32         this.name = name;
33     }
34 
35     public Integer getAge() {
36         return age;
37     }
38 
39     public void setAge(Integer age) {
40         this.age = age;
41     }
42 
43     @Override
44     public String toString() {
45         return "Person [name=" + name + ", age=" + age + "]";
46     }
47     @Override
48     public int compareTo(Person o) {
49         if (this.age > o.age) {
50             return 1;
51         } else if (this.age < o.age) {
52             return -1;
53         }
54         if (this.name.equals(o.name)) {
55             return 0;
56         }
57         return 1;
58     }
59 }

Map:key-value形式,可以根据key取得value,key按照Set集合的模式来保存。

    HashMap:散列

    TreeMap:有顺序

对于Map集合,要求能够循环迭代出里面的所有数据。

所以必须掌握Map的循环方法。

public class MapDemo {
 2     public static void main(String[] args) {
 3         Map<String, Integer> map = new HashMap<>();
 4         map.put("方便面", 20);
 5         map.put("火腿肠", 120);
 6         map.put("矿泉水", 20);
 7         map.put("可乐", 30);
 8 
 9         // Map集合如果想迭代必须先按照key来进行迭代,
10         // 再根key查找value
11         Set<String> keySet = map.keySet();
12         for (String key : keySet) {
13             System.out.println(key + " ---> " + map.get(key));
14         }
15     }
16 }

小结:

本篇对于java封装、继承、多态三大特性,IO操作,线程管理,类集处理(List、Set、Map)进行了阐述以及代码实现。

 

 

 

 

 

 

 

 

 

 

 

 

基于八叉树的k近邻搜索 在八叉树中,每个节点都表示一个正方体的体积元素(体素),并且每个节点都有八个子节点(在不为空的情况下)。搜索最近邻点:一旦确定了查询点在八叉树中的位置,就可以开始搜索最近邻点了。搜索过程通常从查询点所在的叶节点开始,并逐步扩展到相邻的叶节点和父节点,直到找到k个最近邻点为止。k近邻搜索的目标是在给定的点云数据中,找到一个查询点的k个最近邻点。定位查询点:在搜索过程中,首先需要确定查询点在八叉树中的位置。返回结果:最后,搜索算法会返回找到的k个最近邻点的索引和它们与查询点之间的距离。 阅读详情

相关推荐

STM32串口DMA双缓冲机制实战:提升数据传输效率的终极方案

本文深入解析了STM32串口DMA双缓冲机制的核心原理与实战配置。通过对比传统中断方式,阐述了双缓冲如何实现数据接收与处理的“无缝接力”,从而在工业传感器数据采集等高负载场景下,将CPU占用率降至极低水平并彻底避免数据丢失。文章提供了基于标准外设库的详细配置步骤、中断处理逻辑及性能实测数据,是提升嵌入式系统串口通信效率和可靠性的终极方案。

weixin_29192365的博客 80

JavaScript(三)(面向对象编程(new this Object)、异步操作(setTimeout Promise))

JavaScript(三)(面向对象编程、异步操作) 文章目录JavaScript(三)(面向对象编程、异步操作)五、面向对象编程25. 实例对象与 new 命令25.1 对象是什么25.2 构造函数25.3 new 命令25.3.1 基本用法25.3.2 new 命令的原理25.3.3 new.target25.4 Object.create() 创建实例对象26. this 关键字26.1 涵义26.2 实质26.3 使用场合**(1)全局环境****(2)构造函数****(3)对象的方法**26.4

qq_43456781的博客 1439

360可视门铃双摄版数据恢复实战:BIN文件解析与视频重组

本文详细解析了360可视门铃双摄版BIN文件的数据恢复过程,包括文件结构分析、双摄像头数据存储机制及视频重组技术。通过Python开发环境和FFmpeg工具链,成功实现了H.265视频流的解析与重组,为智能家居设备数据恢复提供了实用解决方案。

weixin_29196891的博客 910

一切要从new Object()说起

`java.lang.Object` 类是所有类的父类, Java 的所有类都继承了 Object,所有类皆可以使用 Object 的方法。 Object类位于 `java.lang` 包中,编译时会自动导入,它可以显示继承,也可以隐式继承,如我们创建一个类时,如果没有明确继承一个父类,那么它就会自动继承 Object,成为 Object的子类。 通常我们需要实例化一个Object,需要通过`new`关键字去初始化。

外星喵的博客 1533

医学图像分割实战:基于TransUNet训练自己的眼底硬渗出物数据集(附完整代码)

本文详细介绍了基于TransUNet的眼底硬渗出物分割实战指南,涵盖数据预处理、模型调优、训练策略及性能优化等关键环节。通过代码复现和实验对比,展示了TransUNet在医学图像分割中的优势,为糖尿病视网膜病变的早期诊断提供技术支持。

weixin_42524708的博客 363

零基础基于U-Net网络实战眼底图像血管提取

文章目录1 前言2 血管提取任务概述3 U-Net架构简介4 眼底图像血管分割代码5 结果评估可视化(ROC曲线)6 改进U-Net网络完成眼底图像血管提取任务思路 1 前言 本文基于U-Net架构完成了视网膜血管的提取任务,基于Keras框架更简单的实现分割,网络、工具类、训练和预测的代码一目了然

NJU phd 在读。 5203

JavaScript 对象object this 构造函数

对象的定义: 1、定义方法(一) var 变量名 = new Object(); // 实例化一个空对象 变量名.属性名=值; //给对象添加属性 变量名.函数名=function(){} ; //给对象添加一个函数 2、定义方法(二) 注意:属性名和值之间是冒号,值后面是逗号 var 变量名 = { //大括号直接表示一个对象,里面为空则创建一个空对象 属性名1:值, //给对象定义一个属性 属性名2:值, /...

chengqingshihuishui的博客 635

利用恒源云云端GPU高效训练YOLOv11模型全流程:从环境搭建到模型部署,让你摆脱硬件束缚

记住,云端GPU的核心优势是“弹性算力+一键环境”,只要把握好这一工具特性,再结合YOLOv11的高性能模型架构,你也能在计算机视觉领域快速落地项目。接下来,我们从工具准备到模型部署,一步步带你实现高效训练,真正帮你解决资源与效率的核心痛点。凭借其在目标检测、实例分割任务上的卓越性能,成为众多开发者的首选。据统计,使用云端GPU训练YOLOv11,在处理百万级数据集时,训练效率较本地普通GPU提升。在安防监控中,YOLOv11可实时检测人员、车辆异常行为,某园区采用该方案后,异常事件识别准确率达。

LXY_LOVE36的博客 213

JavaScript中this的指向问题,及创建对象的方式

属性和方法的定义: 如果一个变量属于一个对象所有,那么该变量就可以称之为该对象的一个属性,属性一般是名词,用来描述事物的特征 如果一个函数属于一个对象所有,那么该函数就可以称之为该对象的一个方法,方法是动词,描述事物的行为和功能 new关键字: 构造函数 ,是一种特殊的函数。主要用来在创建对象时初始化对象, 即为对象成员变量赋初始值,总与new运 算符一起使用在创建对象的语句中。 注意: 1、构造函数用于创建一类对象,首字母要大写 2、构造函数要和new一起使用才有意义 ...

weixin_49344258的博客 599

面向非平行语料的语音转换技术综述

摘要语音转换是语音及人工智能领域的一项研究课题,其目标是在保持源语音内容不变的情况下改变语音的音色,使其听上去像是由另一个目标说话人说出的,同时还需保证语音的质量和自然度。面向非平行语料的语音转换技术是当下的热门研究内容,其使用非平行的多说话人语音数据集进行模型训练,能完成多对多以及任意对任意的语音转换。对近年来面向非平行语料的语音转换进行了全面的总结和分析。首先概述了早期面向平行语料的语音转换及其缺陷,然后对当下面向非平行语料的语音转换的各类实现方法进行介绍和对比分析,最后对语音转换技术进行了总结和展望。

qq_61890005的博客 830

基于YOLOv11的手术器械计数系统:从数据集构建到Web应用部署

m2cai16-tool数据集:包含15种腹腔镜手术器械的标注图像Cholec80数据集:包含80个胆囊切除手术视频,标注了7种器械SurgicalTools数据集:包含超过10,000张手术器械图像,涵盖21类常见器械手术剪(Scissors)止血钳(Hemostat)持针器(Needle Holder)手术刀(Scalpel)镊子(Forceps)拉钩(Retractor)吸引器(Suction)

YOLO 397

new object java_在java中,Object o = new Object(){};这个花括号是干什么的?

展开全部右边是一种匿名内部类的写法,new Object(){}代表匿名内部类的一个子对象,{}内的代码依据此处“Object”是否包含抽32313133353236313431303231363533e58685e5aeb931333363393037象方法分两种情况:1,若Object为接口或含有抽象方法(抽象类)、{}内必须包含该接口的方法实现代码或者说重写该抽象类的抽象方法(抽象类或接口无...

weixin_32921023的博客 5058

MATLAB地理数据处理 25:植被物候提取及分析模型优化(Savitzky-Golay)

之前我写过一篇使用Savitzky-Golay处理遥感数据,获取地面物候信息的MATLAB代码,但是发现存在一些问题:对物候开始期和物候结束期的阈值设定都为相同值,但是有些研究中,需要根据不同的环境条件,设置不同的物候阈值,所以对其进行相应的修改。

amyniez的博客,欢迎交流讨论 2233

Java核心技术卷一基础知识第10版

Java核心技术卷一基础知识第10版.rar 百度云链接:https://pan.baidu.com/s/1ehtuHpet24WMPVamIQAFjg 提取码:931t

ZyjSteven的博客 409

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

《java核心技术_卷一:基础知识》(一)4-10章 思维导图

《java核心技术_卷一:基础知识》(一)4-10章 思维导图

makunyuan123的专栏 2006

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

《java核心技术_卷一:基础知识》(一)1-3章 思维导图

《java核心技术_卷一:基础知识》(一)1-3章   思维导图

makunyuan123的专栏 1569

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Java基础知识一

相关网址: http://daixie.baiweitianjiao.com/connect/index.html 在上一篇文章中我们一起配置了Java的基本开发环境,今天我们就一起来创建一个小工程,并且老梁也和大家一起来回顾一部分Java的基础知识,这些基础知识有很多是通用的,就是这些知识基本上是不会因为编程语言的区别而有太大的变化,算是程序的基础。好了,那就让我们开始Hello World...

chaotuan1721的博客 369

Java基础知识 一

内容: Java 语言的发展历史 Java 开发环境搭建 编写 HelloWorld程序 常量和变量 目录 第一章 1.1 Java语言概述 1.2计算机基础知识 第二章 Java语言开发环境搭建 2.1 Java 虚拟机——JVM 2.2 JRE 和 JDK 2.3 JDK9 安装图解 2.4 JAVA_HOME 环境变量的配置 第三章 HelloWorld入门程序 ...

yyhdyp的博客 349

Java基础知识【一】

Java基础知识 DOS命令 切换盘符: 盘符号: 例如 D: 进入目录: cd 目录名 例如: cd desktop 跨盘符进入目录: cd /d 完整的路径 例如:cd /d D:\aaa\bbb 回退上一级目录: cd … 回退多级目录: cd …/…/…/ 回退根目录: cd / 创建目录:md 目录名 例如: md aaa 删除目录:rd 目录名 例如:rd aaa 注意只能删除空目录 删除非空目录但是会询问你: rd /s 目录名 例如: rd /s aaa 删除非空目录无需询问:rd

李某的博客 171

JAVA基础知识总结(一)

JAVA基础知识总结

USAcownoodle的博客 1867

Java基础知识整理 一

Java基础知识整理 一 基本语法 1. Java的可移植性: (1) 一次编译处处运行。 (2) 基于了JVM。 (3) JVM不是跨平台的 2. 入门程序 (1) 一个java文件中可以有多个类,但是只能有一个公共类 (2) 编译:将java文件按照规定的规则转化为系统能够识别的class文件 (3) javac -d 存放的路径 java文件 (4) java 类名 3. 关键字 (1) 指...

小帅博客 294

java基础知识一_Java基础知识总结(一)

《Java基础知识总结》系列是对自己学习Java历程中知识的一个总结,也是为自己找工作前知识的回顾,为找工作奠定基础。1、Identifiers:标识符①Namesofclass,methodandvariable:用于类名、方法名、变量名②Beginwithcharacter,"_"or"$":标识符不能以数字开头③Casesensitive:大小写敏感(区分大小写)④Nol...

weixin_39617502的博客 117

JAVA基础知识(一)

JAVA基础知识(一)前言一、JAVA的特点是什么?二、关于JDK、JRE和JVM三、JAVA和C++的对比(简略) 前言 由于博主已经大三了,即将面临毕业找工作的难题~~,所以希望能够通过写一系列的java基础知识的博客来帮助自己复习,当然如果能帮助到想要学习java的小伙伴就更好了QWQ (本文的大部分知识点都出自于SnailClimb大神,大神的github地址: https://github.com/Snailclimb/JavaGuide/blob/master/docs/java/basis

lichangze1的博客 1979

Java基础知识笔记整理(一)

目录Java基础知识1、Java的优势有哪些?Java有什么优点?2、JDK、JRE、JVM三者之间的区别是什么?3、标识符的命名规则4、什么是变量、变量的本质是什么?5、变量的分类以及作用域6、常量7、Java的基本数据类型7.1 整型7.2 浮点型7.3 char字符型7.4 boolean布尔型8、运算符8.1 算数运算符8.2 赋值和赋值扩展运算符8.3 关系运算符8.4 逻辑运算符8.5 位运算符8.6 字符串连接符8.7 条件运算符(三目运算符)8.8 运算符优先级问题8.9 &和&am

weixin_43246215的博客 2938

一.java基础知识

文章目录一.java基础1.计算机基础知识:1.1计算机1.2计算机硬件系统1.3计算机软件系统1.4计算机语言1.5人机交互的方式1.6常见的命令二.java语言的概述1.java语言背景2.java语言的三大版本3.java语言的特性3.1 java语言的跨平台性三.java编程环境搭建1.JDK的概述2.JDK的下载和安装自行搜索教程3.JDK的环境变量配置自行搜索教程4 .开发工具eclipse的下载与安装以及基本使用,请自行搜索教程5.JDK JRE JVM解释四.第一个java案例:hellow

qq_44921162的博客 468
下一篇: 交叉表在SQL Server中的应用
shin_cy
博客等级 码龄11年 85粉丝 7原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值