首页 > 其他分享 >笔记-01

笔记-01

时间:2023-04-16 12:36:41浏览次数:36  
标签:链表 01 -- 数据类型 笔记 --- 线程 数组

1. 回顾

  1. java

    1.java基础----软件不要安装在中文目录下。
    (1)JDK环境---版本:1.8---配置环境变量:[java javac命令只能在当前所在目录使用]
    可以在全局使用java和javac命令
    
    (2)写了HelloWorld
    (3)变量 语法: 数据类型 变量名=值;
      [1]数据类型: 基本数据类型和引用数据类型。
         基本数据类型8个: byte short int long float double boolean char.
         引用数据类型:  接口,类,数组,枚举[常量]
      [2]变量名定义规则: 1.有字符,数字,_和$组成 2.不能以数字开头  3.不能使用关键字。  
    (4)运算符:
      [1]赋值运算符:=,+=,-=,*=,/=,%=
      [2]算数运算符: +,-,*,%,/,++,-- [位置可以放在前面和后面]
      [3]关系运算符: >,>=,<,<=,==,!= 返回结果一定是boolean类型
      [4]逻辑运算符: &&,||,!  连接关系运算符
      [5]三目运算符: 表达式?值:值
    优先级: 算数运算符>关系运算符>逻辑运算  
    ==比较: 基本类型:比较的是值,引用类型:比较的引用地址。
    equals()比较: 只能比较引用类型。默认比较的是引用地址。如果想比较值那么必须重写equals方法。因为String,Integer重写了equals
    
    (5)控制语句:
       if(){}else if(){}.....else{} 
       ==if可以单独使用==
    
      switch(表达式){
          case 值: 语句块;break;
          case 值: 语句块;break;
          ....
          default: 
      }
      表达式:得到的结果可以是什么类型? byte,short,int,char,String类型【1.7以后】
        //碰到满足需要的case后,会把该case后的所有case以及default都执行
    
    ​    for(初始化;条件;变化){ //初始化只会执行一次
    ​         循环体。
    ​    } 
    
    ​    while(条件){
    ​       循环条件;
    ​    }
      语句嵌套:
    ​      1.99乘法表。 
     (6) 数据组:
    ​      格式: 数据类型[] 数组名=new 数据类型[长度];
    ​      下标从0~长度-1;
    ​      数组名[0]获取第一个元素
    ​      格式: 数据类型[] 数组名={元素,元素....};
    ​     算法: 排序 [冒泡排序 手写,插入排序,选择排序....] 
    ​      for(int i=0;i<arr.length;i++){ //遍历的次数
                for(int j=arr.length-1;j>i;j--){
                    if(arr[j]<arr[j-1]){
                        int tmp=arr[j];
                        arr[j]=arr[j-1];
                        arr[j-1]=tmp;
                    }
                }
           }
           System.out.println(Arrays.toString(arr)); 
    ​
    
    (7) java OOP面向对象编程。---纵向编程。
       三大特点: 
         封装:使用了private修改类成员,使其外界无法直接访问。一般封装属性。
         继承:extends继承父类中的成员。提高代码的复用性。 
              只能单继承。 
              抽象类: 使用abstract来修饰。不能被实例化,只能被子类继承。
              接口: interface.里面的属性都是静态常量,方法都是抽象方法
         多态: 一个对象具有多种形态。 
               向上转型:子类对象可以转化为父类对象。自动转化 
               向下转型: 父类对象转化为子类对象,需要手动转化
    
    

    2. 高级

    1. 异常: 处理异常的方式:
       try{可能发生异常}catch(){捕获异常}finally{资源关闭}
       throws 抛出异常 写在方法名()后面, 调用者。
    2. 集合体系结构:
        Collection: 
            |--List: 有序,可重复。
               |---ArrayList:底层数据结构:数组,特点:查询快,增删慢。当数组元素满了,动态扩容。把数组中原来的元素复制到新数组。新数组的长度是原来的1.5倍。
               |---LinkedList: 底层双向链表。特点: 查询慢, 增删快。
            |--Set:无序,不可重复。
               |---HashSet:底层哈希算法。
        Map:8
           |---HashMap: 底层1.7和1.8不一样。
             1.7:底层使用数组+链表。链表是头部插入
             1.8: 底层使用数组+链表 或者数组+红黑树,链表使用尾部插入。
             如果冲突个数特多时使用红黑树。当冲突个数高于8个转化为红黑树。
    
        Collections:集合的工具类      
    
    3. IO流:
       InputStream: 字节输入流
       OutputStream:字节输出流
    ==========================文件操作=====================    
       Reader:字符输入流
       Writer:字符串输出流
    =========================文本操作======================
    
    4. 线程
      (1)创建线程的方式:1.继承Thread重写run方法 2.实现Runnable接口 3.实现Callable接口。 Callable有返回值,Runnable无返回值。
      (2)线程的状态:
           NEW--->Start---进入就绪状态---->获取CPU时间片--->进入运行状态--->
           syn--->堵塞状态---sleep|wait--等待状态。----终止状态
    NEW--->RUNABLE--->BLOCKED---->WAITING----TIME_WAITING----TERMINATED  
      (3)线程池:
        创建方式: new ThreadPoolExecutor()原始的线程池。
        单一线程池:
        固定长度的线程池:
        可变线程池:
        延迟线程池:
    
    5. JDK8的新特性:
       1.Lambda表达式: 接口必须是函数式接口。函数接口:有且仅有一个抽象方法。
       2.Stream流:针对集合和数组的操作。Stream流类中包含很多方法。
       3.方法引用:  
       4.时间类:
    
    6. 设计模式: 23种
      [1]单例模式: ---恶寒和懒汉【线程安全问题--->双重校验锁 手写】
      [2]工厂模式:
      [3]动态代理:---JDK动态代理[基于接口]和Cglib动态代理[基于当前类的子类]。
      [4]观察者: 
      [5]建造者模式
      [6]适配器模式:
      [7]桥接模式 等等
    
  2. Mysql数据库:--CRUD 增删改sql语句没有难度。
    查询: 单表查询没有难度 多表查询和嵌套查询。
    select * from t1 join t2 on 链表条件 join t3 on 链表条件 .

标签:链表,01,--,数据类型,笔记,---,线程,数组
From: https://www.cnblogs.com/av404/p/17323063.html

相关文章

  • 最小生成树学习笔记
    定义最小生成树是指给定一个带权连通图G,如果里面有一个子图G'中的边权和加起来最小并且使得所有的点都能两两相通。性质从上述的定义可以看出,最小生成树有以下性质:如果图G中有n个点的话,G'中的边数为n-1且G'中不含有环。最小生成树可能是一个,也可能是多个。......
  • 中小型软件企业初始管理记录20140922
    对于人数少于100人的中小型软件企业,员工的初始积极性是最重要的,企业应该考虑做到以下几点:1、薪资可以不高,但企业承诺一定要做到;2、通信费交通费必须考虑合理报销,报销过程要简单;3、加班餐费必须解决好;4、频繁加班后,需要考虑一定形式的团队建设,而且越快越好;5、员工的倒休要鼓励,不能让......
  • PAT Basic 1101. B是A的多少倍
    PATBasic1101.B是A的多少倍1.题目描述:设一个数 \(A\) 的最低 \(D\) 位形成的数是 \(a_d\)。如果把 \(a_d\) 截下来移到 \(A\) 的最高位前面,就形成了一个新的数 \(B\)。\(B\) 是 \(A\) 的多少倍?例如将12345的最低2位45截下来放到123的前面,就得到45123,......
  • Mathematica学习笔记002-数据导入导出
    如果不能把数据导入导出,Mathematica就只能是个大号计算器了。学会了导入导出,一方面可以把数据、图像结果保存,另一方面也可以将别的程序的中间结果导出成(txt或xls格式),然后交给Mathematica处理,让骑完成高精度计算和绘图。基本操作其实很简单Export["D:\\abc.txt",{{1,2},{3,4......
  • Flink零基础学习笔记(一):基础概念
    一、ApacheFlink的定义、架构和原理ApacheFlink是一个分布式大数据处理引擎,可以对有限数据流和无限数据流进行有状态或无状态的计算,能够部署在各种集群环境,对各种规模大小的数据以内存速度进行快速计算。接下来我们介绍一下这些关键词的意义。处理无界和有界数据任何数据都......
  • vs 2017编译bootst库
    1.下载boost源码,这里下载boost_1_69_0:boost_1_69_0.7z.2.解压后,已管理员身份打开VS2017的x86_x64兼容工具.例如我的路径是F:F://切换到F盘cdwork\C++\boost_1_69_0执行bootstrap.bat生成b2.exe执行b2.exe--toolset=msvc-14.1install--prefix="D:\Project\Boos......
  • 【CVE-2017-12615】Tomcat 远程代码执行漏洞复现
    0x00环境搭建用vulhub的环境查看配置文件conf/web.xml中readonly的设置0x01漏洞复现访问主页,抓包后修改数据包可通过PUT方式创建一个JSP文件。虽然Tomcat对文件后缀有一定检测(不能直接写jsp),但我们使用一些文件系统的特性(如Linux下可用/)来绕过了限制。改完包的时候......
  • 红帽认证RedHat-RHCSA shell的基本应用用户和组管理网络配置和防火墙管理笔记汇总
    shell命令概述Shell作用:命令解释器介于操作系统内核与用户之间,负责解释命令行获得命令帮助内部命令help命令的“--help”选项使用man命令阅读手册页命令行编辑的几个辅助操作Tab键:自动补齐反斜杠“\”:强制换行快捷键Ctrl+U:清空至行首快捷键Ctrl+K:清空至行尾快捷键Ctr......
  • Django练手小项目1:云笔记
    Django练手小项目1:云笔记1、创建项目专业版pycharm:新建项目->Django->路径下加上项目名python环境:manage.pystartproject项目名2、创建数据库,设计表结构3、新建应用专业版:点击:tools->运行manage.py->startapp应用名4、注册应用5、配置数据库6、更......
  • solidworks 2016安装教程(win7,win10,win11都可以安装)
    以下是搜索的笔记,记录下来,方便自己下次找到一,安装关闭电脑的防护软件,禁用计算机的网络连接(禁用网卡或者拔掉网线)打开安装包,打开“_SolidSQUAD_”目录解压“_SolidSQUAD_.7z”,运行其中的“SolidWorksSerialNumbers2016.reg”写入注册表信息运行“Setup.exe”开始安装选择“......