java基础
文章平均质量分 69
java基础学习
秦 羽
阿里云专家博主,极星会成员,城市之星 TOP5~~~
展开
-
Java特性和优势以及安装Java的开发环境
Java特性和优势简单性;面向对象;可移植性;高性能;分布式;动态性;多线程;安全性;健壮性Java三大版本:JavaSE:标准版(桌面程序,控制台开发)JavaME:嵌入式开发(手机,小家电)JavaEE:E企业级开发(web端,服务器开发)JDK,JRE,JVM从上到下是依次包含的关系JDK:Java Development KitJRE:Java Runtime EnvironmentJVM:Java Virtual MachineJava安装开发环境卸载JDK:1.删除Jav原创 2021-06-22 14:46:59 · 146 阅读 · 0 评论 -
反射机制之反射操作泛型和操作注解
反射操作泛型和操作注解五、反射操作泛型六、反射操作注解五、反射操作泛型Java采用泛型擦除的机制来引入泛型,Java中的泛型仅仅是给编译器javac使用的,确保数据的安全性和免去强制类型转换问题,但是,一旦编译完成,所有和泛型有关的类型全部擦除为了通过反射操作这些类型,Java新增了ParameterizedType,GenericArrayType,TypeVariable和WildcardType几种类型来代表不能被归一到Class类中的类型但是又和原始类型齐名的类型。Parameterize原创 2021-08-30 18:03:28 · 162 阅读 · 0 评论 -
反射机制之创建运行时类的对象
创建运行时类的对象(一)、获取运行时类的完整结构(二)、有了Class对象,能做什么?(三)、调用指定的方法(四)、扩充setAccessible方法(一)、获取运行时类的完整结构通过反射获取运行时类的完整结构Field、Method、Constructor、Superclass、Interface、Annotation实现的全部接口所继承的父类全部的构造器全部的方法全部的Field注解…package com.reflection;import java.lang.refle原创 2021-08-29 09:26:59 · 272 阅读 · 0 评论 -
反射机制之类的加载与ClassLoader
反射机制之类的加载与ClassLoader(一)、Java内存分析(二)、了解类的加载过程1.类的加载与ClassLoader的理解2.什么时候会发生初始化(三)、类加载器的作用(一)、Java内存分析Java内存堆存放new的对象和数组可以被所有的线程共享,不会存放别的对象引用栈存放基本变量类型(会包含这个基本类型的具体数值)引用对象的变量会存放这个引用在堆里面的具体地址)方法区可以被所有的线程共享包含了所有的class和static变量(二)、了解类的原创 2021-08-22 08:34:04 · 259 阅读 · 0 评论 -
反射机制之理解Class类并获取Class实例
理解Class类并获取Class实例(一)、Class类(二)、Class类的常用方法(三)、获取Class类的实例(四)、哪些类型可以有Class对象(一)、Class类对象照镜子后可以得到的信息:某个类的属性、方法和构造器、某个类到底实现了哪些接口。对于每个类而言,JRE都为其保留了一个不变的Class类型的对象。一个Class对象包含了特定某个结构(class/interface/enum/annotation/primitive type/void/[])的有关信息。Class本身也是一个类原创 2021-08-21 08:38:12 · 253 阅读 · 0 评论 -
反射机制之Java 反射机制概述
Java 反射机制概述1.静态VS动态语言2.Java Reflection3.Java反射机制提供的功能4.Java反射有点和缺点5.反射相关的主要API6.Class类1.静态VS动态语言动态语言:是一类在运行时可以改变其结构的语言:例如新的函数、对象、甚至代码可以被引进,已有的函数可以被删除或是其他结构上的变化。也就是在运行时代码可以根据某些条件改变自身结构。主要动态语言:Object-C、C#、JavaScript、PHP、Python等。function f() {原创 2021-08-18 09:55:49 · 273 阅读 · 0 评论 -
注解的简单认识
注解一、注解入门二、内置注解三、自定义注解,元注解(一)、元注解(二)、自定义注解Java.Annotation一、注解入门Annotation是从JDK5.0开始引入的新技术。Annotation的作用:不是程序本身,可以对程序做出解释(这一点和注释(comment)没什么区别)可以被其他程序(比如:编译器等)读取Annotation的格式:注解是以“@注释名”在代码中存在的,还可以添加一些参数值,例如:@SuppressWarnings(value=“unchecked”)原创 2021-08-17 10:48:00 · 233 阅读 · 0 评论 -
网络编程之URL(可以下载资源)
URL九、URL**下载资源**九、URLhttps://www.baidu.com/统一资源定位符:定位资源,定位互谅网上的某一个资源DNS:域名解析协议://ip地址:端口号/项目名/对应的资源可以多,但不可以少查看网络连接的内容package com.net;import java.net.URL;public class URLDemo01 { public static void main(String[] args) throws Exception {原创 2021-08-16 08:47:55 · 262 阅读 · 0 评论 -
网络编程之UDP
UDP八、UDP(一)、发送消息(二)、循环发送消息(三)、相互咨询八、UDP1.在Java中操纵UDP 使用位于JDK中Java.net包下的DatagramSocket和DatagramPacket类,可以非常方便地控制用户数据报文。2.DatagramSocket类:创建接收和发送UDP的Socket实例DatagramSocket():创建实例。通常用于客户端编程,它并没有特定监听的端口,仅仅使用一个临时的。DatagramSocket(int port):创建实例,并固定监听Port端口原创 2021-08-15 08:29:58 · 324 阅读 · 0 评论 -
网络编程之传输文件
七、文件上传接收文件就用用文件的管道流,接收字符串就用字符串的管道流运行下面的代码,需要在项目中存在一个hxl.jpg的图片服务器端package com.net;import java.io.*;import java.net.ServerSocket;import java.net.Socket;public class TcpServerDemo02 { public static void main(String[] args) throws Exception {原创 2021-08-14 08:08:27 · 448 阅读 · 0 评论 -
网络编程之通信协议及TCP
通信协议及TCP五、通信协议六、TCP五、通信协议协议:约定。网络通信协议:速率,传输码率,代码结构,传输控制…问题:非常的复杂。解决方法:大事化小:分层TCP/IP协议簇:实际上是一种协议重要TCP:用户传输协议UDP:用户数据报协议出名的协议:TCP:IP:网络互联协议TCP和UDP的对比TCP:打电话连接,稳定三次握手,四次挥手#最少需要三次,才能保证稳定连接!三次握手:A:你愁啥?B:瞅你咋地?A:干一原创 2021-08-13 09:45:19 · 223 阅读 · 0 评论 -
网络编程之IP和端口
IP和端口三、IP四、端口三、IPip地址:InetAddress唯一定位一台网络上计算机127.0.0.1:本机的localhost 可以在cmd中ping一下 ping 127.0.0.1ip地址的分类IP地址分类ipv4: 127.0.0.11, 4个字节组成,0-255, 42亿个;ipv6: ef40::6453:6asb:2f64:c7c4%17, 128位, 8个无符号整数 (可以用ipconfig查看自己的ip)公网(互联网)-私原创 2021-08-12 09:13:43 · 410 阅读 · 0 评论 -
网络编程之通信要素
网络编程之通信要素一、概述二、网络通信的要素一、概述类似于信件:包 Packet 对方的信息,对方的地址,自己的地址打电话—连接----接了----通话 TCP发短信—发送了就完事了—接收 UDP计算机网络:计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。网络编程的目的:无线电台…传播交流信息,数据交换,通信想要达到这个效果需要什原创 2021-08-11 08:36:24 · 186 阅读 · 0 评论 -
多线程之线程池及总整体总结
线程池及总结一、线程池(一)、了解(二)、使用线程池二、总结一、线程池(一)、了解背景:经常创建和销毁,使用量特别大的资源,比如并发情况下的线程,对性能影响很大。思路:提前创建好多个线程,放入线程池中,使用时直接获取,使用完放回池中。可以避免频繁创建销毁、实现重复利用。类似生活中的公共交通工具。好处:提高相应速度(减少了创建新线程的时间)降低资源消耗(重复利用线程池中的线程,不需要每次都创建)便于线程管理(…)corePoolSize:核心池的大小maximumPoolSize:最原创 2021-08-07 08:33:02 · 129 阅读 · 0 评论 -
多线程之线程协作
线程协作(一)、线程通信(二)、管程法(三)、信号灯法(一)、线程通信应用场景:假设仓库中只能存放一件产品,生产者将生产出来的产品放入仓库,消费者将仓库中的产品取走消费。如果仓库中没有产品,则生产者将产品放入仓库,否则停止生产并等待,知道仓库中的产品被消费者取走为止。如果仓库中放有产品,则消费者可以将产品取走消费,否则停止消费并等待,知道仓库中再次放入产品为止。分析:这是一个线程同步问题,生产者和消费者共享同一个资源,并且生产者和消费者之间相互依赖,护卫条件。对于生产者,没有生原创 2021-08-06 08:16:19 · 304 阅读 · 0 评论 -
多线程之线程同步
线程同步(一)、并发,线程同步,队列,锁(二)、三大不安全案例(三)、同步方法与同步块1.同步方法2.同步块3.扩充JUC(四)、死锁(五)、Lock(锁)(一)、并发,线程同步,队列,锁并发:同一个对象被多个线程同时操作线程同步:现实中遇到同一个资源多个人都想使用。 处理多线程问题时,多个线程访问同一个对象,并且某些线程还想修改这个对象,这时就需要线程同步。线程同步其实就是一种等待机制,多个需要同时访问此对象的线程进入和这个对象的等待池形成队列,等待前面的线程使用完毕,下一个线程再使用。原创 2021-08-05 15:55:52 · 577 阅读 · 0 评论 -
多线程之线程状态
(一)、五大状态:(二)、线程方法与说明setPriority(int newPriority) 更改线程的优先级static void sleep(long millis) 在制定的毫秒数内让当前正在执行的线程休眠void join() 等待该线程终止static void yiled() 暂停当前正在执行的线程对象,并执行其他线程void interrupt() 中断线程,不建议使用boolean isAlive() 测试线程是否处于活动状态 不建议使用(三)、线程停止不推荐原创 2021-08-04 11:35:28 · 151 阅读 · 0 评论 -
多线程之Lambda表达式
Lambda表达式(一)、基础知识(一)、基础知识λ希腊字母表中排序11位,英文名称为Lambda它的作用是避免匿名内部类定义过多其实质是属于函数式编程的概念(params)->expression[表达式](params)->statement[语句](params)->statementnew Thread(()->System.out.println(“多线程”)).start();为什么要使用lambda表达式避免匿名内部类定义过原创 2021-08-02 13:07:34 · 802 阅读 · 0 评论 -
多线程之线程创建
线程创建(一)、Thread(二)、实现Runnable接口(三)、实现Callable接口(了解扩充)(四)、静态代理三种创建方式: Thread class ->继承thread 类(重点) Runnable 接口-> 实现Runnable接口(重点) Callable接口->实现Callable接口(了解)(一)、Thread首先可以查看一下JDK帮助文档步骤:继承Thread类,重写run方法,调用start()开启线程//线程开启不一定立即执行,由cpu调度原创 2021-07-30 13:02:03 · 207 阅读 · 2 评论 -
多线程之线程简介
一、线程简介多任务、多线程、(一)、程序,进程,线程在操作系统中运行的程序就是进程。一个进程可以有多个线程。普通方法调用和多线程Process与Thread程序时指令和数据的有序集合,其本身没有任何运行的含义,是一个静态的概念进程是执行程序的一次执行过程,是一个动态的概念,是系统资源分配的单位一个进程中可以包含若干个线程,一个进程中至少有一个线程,否则没有存在的意义,线程是CPU调度和执行的单位注意:很多多线程是模拟出来的,真正的多线程是指有多个cpu,即多核,如服务器,如果是模拟出原创 2021-07-29 22:44:46 · 218 阅读 · 0 评论 -
Java基础之JavaSE总结
JavaSE也学习一段时间了,进行了java基础的总结本次主要是以图片展示,如果有需要可以私聊我。原创 2021-07-28 10:32:44 · 209 阅读 · 0 评论 -
Java基础——异常机制
异常机制一、简单分类二、异常体系结构三、Error与Exception四、异常处理机制五、实际应用总结异常:软件程序在运行过程中,可能会遇到各种异常问题,例如文件不存在或者格式错误,内存或硬盘满了。异常值程序运行中出现的不期而至的各种状况,如文件找不到,网络连接失败,非法参数等异常发生在程序运行期间,它影响了正常的程序执行流程。一、简单分类检查性异常:最具代表的检查性异常是用户错误或问题引起的异常。这是程序员无法遇见的,;例如:要打开一个不存在文件时,异常就发生了,这些异常在编译时不能被简单地忽原创 2021-07-27 15:55:19 · 180 阅读 · 0 评论 -
Java基础——面向对象编程
面向对象编程一、什么是面向对象二、创建与初始化对象三、创建对象内存分析四、封装五、继承六、多态七、Static八、抽象类九、接口十、内部类一、什么是面向对象面向过程思想步骤清晰简单,第一步做什么,第二步做什么…面向过程适合处理一些较为简单的问题面向对象思想物以类聚,分类的思维模式,思靠问题首先会解决问题需要哪些分类,然后对这些分类进行单独思考。最后才对某个分类下的细节进行面向过程的思索。面向对象适合处理复杂的问题,适合处理需要多人写作的问题!对于描述复杂的事物,为了从宏观原创 2021-07-26 11:13:57 · 354 阅读 · 0 评论 -
Java基础——Java数组
Java数组一、数组概述二、数组声明创建三、三种初始化以及内存分析(一)、内存分析(二)、三种初始化四、数组的小结(一)、基本特点(二)、数组边界(三)、小结五、数组使用六、多维数组七、Arrays类一、数组概述数组是相同类型数据的有序结合。数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成。每一个数据称作一个数组元素,每个数组元素可以通过一个下标来访问它们。二、数组声明创建首先必须声明数组变量,才能在程序中使用数组。声明语法dataType[] arrayRefVar;原创 2021-07-21 09:54:36 · 289 阅读 · 0 评论 -
Java方法详解
Java方法详解一、什么是方法?二、方法的定义和调用(一)、方法的定义(二)、方法的调用三、方法的重载四、命令行传参五、可变参数六、递归一、什么是方法?Java方法是语句的集合,它们在一起执行一个功能。方法是解决一类问题的步骤的有序组合。方法包含于类或对象中。方法在程序中被创建,在其他地方被引用。设计方法的原则:方法的本意是功能块,就是实现某个功能的语句块的集合。我们设计方法的时候,最好保持方法的原子性,就是一个方法只完成一个功能,这样有利于后期扩展。二、方法的定义和调用(一原创 2021-07-13 23:12:15 · 117 阅读 · 0 评论 -
Java流程控制
Java流程控制一.用户交互Scanner二.顺序结构三.选择结构四.循环结构1.while循环2.do...while循环**3.for循环**4.增强for循环五.Break、continue、goto一.用户交互Scannerjava.util.Scanner 可以通过Scanner类来获取用户的输入基本语法:Scanner s = new Scanner(System.in); String str = scanner.next();//凡是属于IO流的类如果不关闭会一直占用资源,养成用原创 2021-06-25 16:04:36 · 259 阅读 · 0 评论 -
Java基础语法
Java基础语法一.注释二.标识符关键字:标识符的注意事项:三.数据类型四.数据类型扩展五.类型转换六.变量七.变量作用域八.常量九.变量的命名规范十.运算符十一.包机制十二.JavaDoc一.注释 单行注释 // 多行注释 /* */ 快捷键:直接Ctrl+/ 文档注释JavaDoc /** */二.标识符 标识符:Java所有的组成部分需要名字,类名,变量名以及方法名关键字: [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(i原创 2021-06-24 16:50:24 · 169 阅读 · 0 评论 -
程序员一些常用的快捷键以及dos命令
Windows常用的快捷键:Ctrl+c:复制Ctrl+ v:粘贴Ctrl+ x:剪切Ctrl+ a:全选Ctrl+ z:恢复ALT+F4:关闭Win+E:打开文件资源管理器SHIFT+Delete:永久删除CTRL+SHIFT+ESC:任务管理器idea中:Ctrl+D复制当行到下一行常见的DOS命令:打开CMD的方式:(或管理员方式)1.开始+系统+命令提示符(右键以管理员方式运行)2.Win+R 输入cmd打开控制台3.在任意的文件夹下面,按住shift+鼠标右键,在此原创 2021-06-21 09:57:04 · 378 阅读 · 0 评论