10 2021 档案
摘要:Ubuntu介绍 1.Ubuntu是一个以桌面应用为主的开源操作系统,它的界面做的非常好看 2.专业的程序员一般会选择Ubuntu 原因: 1.为了装逼 2.开发环境更加接近真实服务器环境,因为都是基于GNU/Linux内核开发的 3.穷 3.下载地址:[http://cn.ubuntu.com/d
阅读全文
摘要:shell编程是个啥 Shell是一个命令行解释器,它为用户提供了一个向 Linux 内核发送请求以便运行程序的系统级程序 shell编程打印hello world 代码部分 #!/bin/bash echo 'hello world' 代码解释: 1.#!/bin/bash: 告诉计算机,使用
阅读全文
摘要:以源码安装的方式编译和安装Mysql 5.6 1 卸载旧版本 rpm -qa | grep mysql 检查是否有旧版本 查询结果:mysql-libs-5.1.73-7.el6.x86_64 rpm -e mysql-libs 删除旧版本 rpm -e --nodeps mysql-libs 强行
阅读全文
摘要:rpm包的管理 介绍 一种用于互联网下载包的打包及安装工具.它生成具有.RPM扩展名的文件。RPM是 RedHatPackage Manager(RedHat 软件包管理工具)的缩写,类似windows 的 setup.exe rpm包的简单查询指令 rpm –qa 查询已安装的 rpm 列表 rp
阅读全文
摘要:基本介绍 1.在 LINUX 中,每个执行的程序(代码)都称为一个进程。每一个进程都分配一个 ID 号2.每一个进程,都会对应一个父进程,而这个父进程可以复制多个子进程3.每个进程都可能以两种方式存在的。前台与后台,所谓前台进程就是用户目前的屏幕上可以进行操作的。后台进程则是实际在操作,但由于屏幕上
阅读全文
摘要:Linux网络配置原理图(NAT) 查看网络ip和网关 查看虚拟网络编辑器 修改ip地址(修改虚拟网络的ip) 查看网关 查看windows环境的中 VMnet8 网络配置 (ipconfig 指令) 1.使用命令查看 ipconfig 2.界面查看 ping 测试主机之间网络连通 基本语法 pin
阅读全文
摘要:分区基础知识 分区方式 mbr分区: 1.最多支持四个主分区 2.系统只能安装在主分区上 3.扩展分区要占一个主分区 4.mbr最大只支持2TB,但拥有最好的兼容性 gpt分区: 1.支持无限多个主分区(但操作系统会限制,比如windows下最多支持128个主分区) 2.最大支持18EB的容量(1E
阅读全文
摘要:示意图 基本语法 crontab [选项] -e : bianji crontab定时任务 -l : 查询crontab -r : 删除当前用户所有的crontab任务 例子: 每分钟执行查看一次/etc目录,把目录内容写进/tmp/a.txt下 ll /etc >> /tmp/a.txt 具体实现
阅读全文
摘要:Linux组基本介绍 在 linux 中的每个用户必须属于一个组,不能独立于组外。在linux 中每个文件有所有者、所在组、其它组的概念 文件/目录 所有者 一般为文件的创建者,谁创建了该文件,就自然的成为该文件的所有者。 查看文件的所有者 ls -ahl 例子: 1.创建一个组 police 2.
阅读全文
摘要:指定运行级别 运行级别说明: 0:关机 1:单用户[找回丢失密码] 没有密码,直接是root用户 2:多用户状态[无网络服务] 基本不用 3:多用户状态[有网络服务] 正常都是它 4:保留级别 5:图形界面 6:系统重启 修改默认运行级别 vim /etc/inittab 修改最后一行: id:5:
阅读全文
摘要:知识储备 1.Linux系统是一个多用户多任务的操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。 2.Linux 的用户需要至少要属于一个组 添加用户 基本语法 useradd [选项] 用户名 例子: useradd lxx 说明: 1.创
阅读全文
摘要:关机/重启命令 shutdown命令 shutdown -h now :立即关机 shutdown -h 2 :1分钟后关机 shutdown -r now :立即重启 shutdown -r 1 :1分钟后重启 sleep 10 && halt 10秒钟后关机 halt 关机 reboot 重启
阅读全文
摘要:linux相关知识 01_Linux简介 02_VMware和Centos的安装 03_配置网络连接的三种形式及VM常用功能 04_Linux目录结构 05_远程登录和上传文件 06_vi和vim编辑器 07_开机/重启/用户切换/注销 08_用户管理 09_实用指令 10_组管理和权限管理 11_
阅读全文
摘要:vi 和 vim 类似于windows的文本编辑器 所有的Linux系统都会内置vi文本编辑器 vim可以看做是vi增强版,具有程序编辑能力,支持语法高亮,代码补全,编译及错误跳转等功能,因此被广泛使用 如果Linux中没有vim这个命令,可以手动下载: yum install vim vi 和 v
阅读全文
摘要:Xshell5使用 连接登录 连接前提 需要Linux开启一个sshd的服务,监听22号端口,一般默认是开启的 查看是否开启: chkconfig --list | grep sshd 手动开启: chkconfig --level 5 sshd on service sshd restart Xs
阅读全文
摘要:Linux目录与Windows目录对比 Windows目录结构 Linux目录结构 深刻理解Linux 树状文件目录是非常重要的,只有记住他们,你才能在命令行中任意切换,想去哪里去哪里 Linux世界里 一切皆文件 对于Linux而言,所有的东西都是文件 比如说,cpu会映射到/dev下的cpu这个
阅读全文
摘要:桥连接 概念: Linux可以和局域网里其它系统进行同行,会占用局域网内一个ip地址,容易造成ip冲突 示意图: NAT模式 概念: 网络地址转换,Linux可以访问外网,但不会造成ip冲突 示意图: 主机模式 概念: Linux的ip是独立的,不能访问外网 VMtools安装 遇到的问题:1.剪切
阅读全文
摘要:Windows,VMware和Centos三者的关系 VMware安装 一路下一步,之后找一个可以用的序列号。 Centos安装
阅读全文
摘要:Linux基本常识 Linux诞生的故事 Unix篇: 为了进一步强化大型主机的功能,让主机的资源可以提供更多的使用者来利用,所以在1964年, 由AT&A公司的贝尔实验室(Bell)、麻省理工学院(MIT)及奇异公司(GE美国通用电气公司)共同发起了Multics(多路信息计算系统)的计划, Mu
阅读全文
摘要:作用 负责将.class文件(存储的物理文件)加载在到内存中 类加载的过程 类加载时机 创建类的实例(对象) 调用类的类方法 访问类或者接口的类变量,或者为该类变量赋值 使用反射方式来强制创建某个类或接口对应的java.lang.Class对象 初始化某个类的子类 直接使用java.exe命令来运行
阅读全文
摘要:超文本传输协议(关于超文本的概念JavaWeb在进行学习),是建立在TCP/IP协议基础上,是网络应用层的协议。 由请求和响应构成,是一个标准的客户端和服务器模型 URL 概述 统一资源定位符,常见的如http://bbs.itheima.com/forum.php 完整的格式为 http://bb
阅读全文
摘要:概述 BIO Blocking IO,阻塞型IO NIO No Blocking IO,非阻塞型IO 阻塞IO的弊端 在等待的过程中,什么事也做不了 非阻塞IO的好处 不需要一直等待,当一切就绪了再去做 NIO与BIO的区别 区别一 BIO是阻塞的,NIO是非阻塞的 区别二 BIO是面向流的,NIO
阅读全文
摘要:TCP程序服务器优化 优化方案一 需求:服务器只能处理一个客户端请求,接收完一个图片之后,服务器就关闭了。 解决方案:使用循环 代码实现: // 服务器代码如下,客户端代码同上个案例,此处不再给出 public class ServerDemo { public static void main(S
阅读全文
摘要:TCP发送数据 Java中的TCP通信 Java对基于TCP协议的的网络提供了良好的封装,使用Socket对象来代表两端的通信端口,并通过Socket产生IO流来进行网络通信。 Java为客户端提供了Socket类,为服务器端提供了ServerSocket类 构造方法 方法名说明 Socket(In
阅读全文
摘要:UDP通信程序 UDP发送数据 Java中的UDP通信 UDP协议是一种不可靠的网络协议,它在通信的两端各建立一个Socket对象,但是这两个Socket只是发送,接收数据的对象,因此对于基于UDP协议的通信双方而言,没有所谓的客户端和服务器的概念 Java提供了DatagramSocket类作为基
阅读全文
摘要:网络编程概述 计算机网络 是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统 网络编程 在网络通信协议下,不同计算机上运行的程序,可以进行数据传输 网络编程三要素 IP地址 要想
阅读全文
摘要:volatile-问题 代码分析 : package com.itheima.myvolatile; public class Demo { public static void main(String[] args) { MyThread1 t1 = new MyThread1(); t1.set
阅读全文
摘要:线程状态介绍 当线程被创建并启动以后,它既不是一启动就进入了执行状态,也不是一直处于执行状态。线程对象在不同的时期有不同的状态。那么Java中的线程存在哪几种状态呢? Java中的线程状态被定义在了java.lang.Thread.State枚举类中,State枚举类的源码如下: public cl
阅读全文
摘要:生产者消费者 生产者和消费者模式概述 概述 生产者消费者模式是一个十分经典的多线程协作的模式,弄懂生产者消费者问题能够让我们对多线程编程的理解更加深刻。 所谓生产者消费者问题,实际上主要是包含了两类线程: 一类是生产者线程用于生产数据 一类是消费者线程用于消费数据 为了解耦生产者和消费者的关系,通常
阅读全文
摘要:卖票 案例需求 某电影院目前正在上映国产大片,共有100张票,而它有3个窗口卖票,请设计一个程序模拟该电影院卖票 实现步骤 定义一个类SellTicket实现Runnable接口,里面定义一个成员变量:private int tickets = 100; 在SellTicket类中重写run()方法
阅读全文
摘要:多线程 是指从软件或者硬件上实现多个线程并发执行的技术。 具有多线程能力的计算机因有硬件支持而能够在同一时间执行多个线程,提升性能。 并发和并行 并行:在同一时刻,有多个指令在多个CPU上同时执行。 并发:在同一时刻,有多个指令在单个CPU上交替执行。 进程和线程 进程:是正在运行的程序 1、独立性
阅读全文
摘要:转换流 字符流中和编码解码问题相关的两个类 InputStreamReader:是从字节流到字符流的桥梁,父类是Reader 它读取字节,并使用指定的编码将其解码为字符 它使用的字符集可以由名称指定,也可以被明确指定,或者可以接受平台的默认字符集 OutputStreamWriter:是从字符流到字
阅读全文
摘要:为什么会出现字符流 字符流的介绍 由于字节流操作中文不是特别的方便,所以Java就提供字符流 字符流 = 字节流 + 编码表 中文的字节存储方式 用字节流复制文本文件时,文本文件也会有中文,但是没有问题,原因是最终底层操作会自动进行字节拼接成中文,如何识别是中文的呢? 汉字在存储的时候,无论选择哪种
阅读全文
摘要:IO流概述和分类 IO流介绍 IO:输入/输出(Input/Output) 流:是一种抽象概念,是对数据传输的总称.也就是说数据在设备间的传输称为流,流的本质是数据传输 IO流就是用来处理设备间数据传输问题的.常见的应用: 文件复制; 文件上传; 文件下载 IO流的分类 按照数据的流向 输入流:读数
阅读全文
摘要:File类概述和构造方法 File类介绍 它是文件和目录路径名的抽象表示 文件和目录是可以通过File封装成对象的 对于File而言,其封装的并不是一个真正存在的文件,仅仅是一个路径名而已.它可以是存在的,也可以是不存在的.将来是要通过具体的操作把这个路径的内容转换为具体存在的 File类的构造方法
阅读全文
摘要:体验Stream流 案例需求 按照下面的要求完成集合的创建和遍历 创建一个集合,存储多个字符串元素 把集合中所有以"张"开头的元素存储到一个新的集合 把"张"开头的集合中的长度为3的元素存储到一个新的集合 遍历上一步得到的集合 原始方式示例代码 public class StreamDemo { p
阅读全文
摘要:Map集合概述和特点 Map集合概述 interface Map<K,V> K:键的类型;V:值的类型 Map集合的特点 双列集合,一个键对应一个值 键不可以重复,值可以重复 Map集合的基本使用 public class MapDemo01 { public static void main(St
阅读全文
摘要:HashSet集合概述和特点 底层数据结构是哈希表 存取无序 不可以存储重复元素 没有索引,不能使用普通for循环遍历 HashSet集合的基本应用 存储字符串并遍历 public class HashSetDemo { public static void main(String[] args)
阅读全文
摘要:二叉树 二叉树的特点 二叉树中,任意一个节点的度要小于等于2 节点: 在树结构中,每一个元素称之为节点 度: 每一个节点的子节点数量称之为度 二叉树结构图 二叉查找树 二叉查找树的特点 二叉查找树,又称二叉排序树或者二叉搜索树 每一个节点上最多有两个子节点 左子树上所有节点的值都小于根节点的值 右子
阅读全文
摘要:Set集合概述和特点 不可以存储重复元素 没有索引,不能使用普通for循环遍历 Set集合的使用 存储字符串并遍历 public class MySet1 { public static void main(String[] args) { //创建集合对象 Set<String> set = ne
阅读全文
摘要:泛型概述 泛型的介绍 泛型是JDK5中引入的特性,它提供了编译时类型安全检测机制 泛型的好处 把运行时期的问题提前到了编译期间 避免了强制类型转换 泛型的定义格式 <类型>: 指定一种类型的格式.尖括号里面可以任意书写,一般只写一个字母.例如: <E> <T> <类型1,类型2…>: 指定多种类型的
阅读全文
摘要:List集合的概述和特点 List集合的概述 有序集合,这里的有序指的是存取顺序 用户可以精确控制列表中每个元素的插入位置,用户可以通过整数索引访问元素,并搜索列表中的元素 与Set集合不同,列表通常允许重复的元素 List集合的特点 存取有序 可以重复 有索引 List集合的特有方法 方法名描述
阅读全文
摘要:数组和集合的区别 相同点 都是容器,可以存储多个数据 不同点 数组的长度是不可变的,集合的长度是可变的 数组可以存基本数据类型和引用数据类型 集合只能存引用数据类型,如果要存基本数据类型,需要存对应的包装类 集合类体系结构 Collection 集合概述和使用 Collection集合概述 是单例集
阅读全文
摘要:异常的概述 异常就是程序出现了不正常的情况 异常的体系结构 编译时异常和运行时异常的区别 编译时异常 都是Exception类及其子类 必须显示处理,否则程序就会发生错误,无法通过编译 运行时异常 都是RuntimeException类及其子类 无需显示处理,也可以和编译时异常一样处理 图示 JVM
阅读全文
摘要:Date类 计算机中时间原点 1970年1月1日 00:00:00 时间换算单位 1秒 = 1000毫秒 Date类概述 Date 代表了一个特定的时间,精确到毫秒 Date类构造方法 方法名说明 public Date() 分配一个 Date对象,并初始化,以便它代表它被分配的时间,精确到毫秒 p
阅读全文
摘要:递归 递归的介绍 以编程的角度来看,递归指的是方法定义中调用方法本身的现象 把一个复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解 递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算 递归的基本使用 public class MyFactorialDemo2 { public s
阅读全文
摘要:作用 可以用来进行精确计算 构造方法 方法名说明 BigDecimal(double val) 参数为double BigDecimal(String val) 参数为String 常用方法 方法名说明 public BigDecimal add(另一个BigDecimal对象) 加法 public
阅读全文
摘要:什么是API API (Application Programming Interface) :应用程序编程接口 java中的API 指的就是 JDK 中提供的各种功能的 Java类,这些类将底层的实现封装了起来,我们不需要关心这些类是如何实现的,只需要学习这些类如何使用即可,我们可以通过帮助文档来
阅读全文
摘要:Lambda表达式 代码演示 /* 游泳接口 */ interface Swimming { void swim(); } public class TestSwimming { public static void main(String[] args) { // 通过匿名内部类实现 goSwim
阅读全文
摘要:多态的概述 什么是多态 同一个对象,在不同时刻表现出来的不同形态 多态的前提 要有继承或实现关系 要有方法的重写 要有父类引用指向子类对象 代码: class Animal { public void eat(){ System.out.println("动物吃饭"); } } class Cat
阅读全文
摘要:信息管理系统集合改进 使用数组容器的弊端 容器长度是固定的,不能根据添加功能自动增长 没有提供用于增删改查的方法 优化步骤 创建新的StudentDao类,OtherStudentDao 创建ArrayList集合容器对象 OtherStudentDao中的方法声明,需要跟StudentDao保持一
阅读全文
摘要:抽象类的概述 当我们在做子类共性功能抽取时,有些方法在父类中并没有具体的体现,这个时候就需要抽象类了! 在Java中,一个没有方法体的方法应该定义为抽象方法,而类中如果有抽象方法,该类必须定义为抽象类! 抽象类的特点 //抽象类的定义 public abstract class 类名 {} //抽象
阅读全文
摘要:继承的实现 继承的概念 继承是面向对象三大特征之一,可以使得子类具有父类的属性和方法,还可以在子类中重新定义,以及追加属性和方法 实现继承的格式 继承通过extends实现 格式:class 子类 extends 父类 { } 举例:class Dog extends Animal { } 继承带来
阅读全文
摘要:分类思想概述 分工协作,专人干专事 学生信息管理系统 Student类 标准学生类,封装键盘录入的学生信息(id , name , age , birthday) StudentDao类 Dao : (Data Access Object 缩写) 用于访问存储数据的数组或集合 StudentServ
阅读全文
摘要:集合和数组的区别 : 共同点:都是存储数据的容器 不同点:数组的容量是固定的,集合的容量是可变的 ArrayList的构造方法和添加方法 public ArrayList()创建一个空的集合对象 public boolean add(E e) 将指定的元素追加到此集合的末尾 public void
阅读全文
摘要:StringBuilder类概述 概述 : StringBuilder 是一个可变的字符串类,我们可以把它看成是一个容器,这里的可变指的是 StringBuilder 对象中的内容是可变的 StringBuilder类和String类的区别 String类:内容是不可变的 StringBuilder
阅读全文
摘要:String概述 1 String 类在 java.lang 包下,所以使用的时候不需要导包 2 String 类代表字符串,Java 程序中的所有字符串文字(例如“abc”)都被实现为此类的实例也就是说,Java 程序中所有的双引号字符串,都是 String 类的对象 3 字符串不可变,它们的值在
阅读全文
摘要:API概述-帮助文档的使用 什么是API API (Application Programming Interface) :应用程序编程接口 java中的API 指的就是 JDK 中提供的各种功能的 Java类,这些类将底层的实现封装了起来,我们不需要关心这些类是如何实现的,只需要学习这些类如何使用
阅读全文
摘要:构造方法的格式和执行时机 格式注意 : 方法名与类名相同,大小写也要一致 没有返回值类型,连void都没有 没有具体的返回值(不能由retrun带回结果数据) 执行时机 : 创建对象的时候调用,每创建一次对象,就会执行一次构造方法 不能手动调用构造方法 示例代码: class Student { p
阅读全文
摘要:成员变量和局部变量 成员变量和局部变量的区别 类中位置不同:成员变量(类中方法外)局部变量(方法内部或方法声明上) 内存中位置不同:成员变量(堆内存)局部变量(栈内存) 生命周期不同:成员变量(随着对象的存在而存在,随着对象的消失而消失)局部变量(随着方法的调用而存在,醉着方法的调用完毕而消失) 初
阅读全文
摘要:单个对象内存图 多个对象内存图 总结: 多个对象在堆内存中,都有不同的内存划分,成员变量存储在各自的内存区域中,成员方法多个对象共用的一份 多个对象指向相同内存图 总结 : 当多个对象的引用指向同一个内存空间(变量所记录的地址值是一样的) 只要有任何一个对象修改了内存中的数据,随后,无论使用哪一个对
阅读全文
摘要:面向对象和面向过程的思想对比 : 面向过程 :是一种以过程为中心的编程思想,实现功能的每一步,都是自己实现的 面向对象 :是一种以对象为中心的编程思想,通过指挥对象实现具体的功能 类和对象的关系 客观存在的事物皆为对象 ,所以我们也常常说万物皆对象。 类 类的理解 类是对现实生活中一类具有共同属性和
阅读全文
摘要:什么是Debug模式 是供程序员使用的程序调试工具,它可以用于查看程序的执行流程,也可以用于追踪程序执行过程来调试程序。 Debug介绍与操作流程 如何加断点 选择要设置断点的代码行,在行号的区域后面单击鼠标左键即可 如何运行加了断点的程序 在代码区域右键Debug执行 看哪里 看Debugger窗
阅读全文
摘要:方法的概念 方法(method)是将具有独立功能的代码块组织成为一个整体,使其具有特殊功能的代码集 注意: 方法必须先创建才可以使用,该过程成为方法定义 方法创建后并不是直接可以运行的,需要手动使用后,才执行,该过程成为方法调用 方法的定义和调用 无参数方法定义和调用 定义格式: public st
阅读全文
摘要:数组 数组介绍 数组就是存储数据长度固定的容器,存储多个数据的数据类型要一致。 数组的定义格式 第一种格式 数据类型[] 数组名 示例: int[] arr; double[] arr; char[] arr; 第二种格式 数据类型 数组名[] 示例: int arr[]; double arr[]
阅读全文