自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 收藏
  • 关注

原创 枚举类的使用和实现

2022-07-13 19:46:15 325 1

原创 常用类02:JDK8中新日期时间API,瞬时Instant,java比较器,system类,math类,BigInteger与BigDecimal

2022-07-12 21:36:40 215

原创 常用类01:字符串相关类、String的特性、使用陷阱、常用方法、StringBuffer类、StringBuilder类

字符串相关的类String的特性test1String类:代表字符串。Java 程序中的所有字符串字面值(如 “abc” )都作为此类的实例实现String是一个final类,代表不可变的字符序列字符串是常量,用双引号引起来表示。它们的值在创建之后不能更改。String对象的字符内容是存储在一个字符数组value[ ]中的字符串相关的类:stringtest2字符串对象是如何存储的test3package com.atguigu.java;imp

2022-02-17 20:56:15 810

原创 多线程04、线程的通信,wait()与notify()/notifyAll(),生产者与消费者问题,JDK5.0新增线程创建方式,线程池相关API

线程的通信例题:使用两个线程打印1-100。线程1,线程2交替打印package com.atguigu.java2;/** * 线程通信的例子:使用两个线程打印1-100,线程1,线程2 交替打印 * * 涉及到的三个方法: * wait():一旦执行此方法,当前线程就进入阻塞状态,并释放同步监视器 * notify():一旦执行此方法,就会唤醒被wait的一个线程,如果有多个线程被wait,就唤醒优先级最高的那个 * notifyAll():一旦执行此方法,就会唤醒所有被wa

2022-01-27 21:36:19 292

原创 多线程03、线程的生命周期,线程的同步,同步机制中的锁,释放锁和不会释放锁的操作,单例设计模式(懒汉式),线程死锁问题,锁,synchronized和Lock对比,练习(银行存钱)

线程的生命周期JDK中用Thread.State类定义了线程的几种状态要想实现多线程,必须在主线程中创建新的线程对象。Java语言使用Thread类及其子类的对象来表示线程,在它的一个完整的生命周期中通常要经历如下的五种状态:新建: 当一个Thread类或其子类的对象被声明并创建时,新生的线程对象处于新建状态**就绪:**处于新建状态的线程被start()后,将进入线程队列等待CPU时间片,此时它已具备了运行的条件,只是没分配到CPU资源**运行:**当就绪的线程被调度并获得CPU资源时,便进

2022-01-24 21:20:00 265

原创 多线程02 线程的创建和使用(创建和启动,Tread类,API中创建线程的两种方式,继承方式和实现方式的联系与区别,线程的调度,线程的优先级,线程的分类)

线程的创建和使用线程的创建和启动Java语言的JVM允许程序运行多个线程,它通过java.lang.Thread类来体现Thread类的特性每个线程都是通过某个特定Thread对象的run()方法来完成操作的,经常把run()方法的主体称为线程体通过该Thread对象的==start()==方法来启动这个线程,而非直接调用run()Thread类构造器:Thread():创建新的Thread对象Thread(String threadname):创建线程并指定线程实例名Th

2022-01-18 19:51:30 83

原创 多线程01(基本概念:程序、进程、线程)

基本概念:程序、进程、线程==程序(program)==是为完成特定任务、用某种语言编写的一组指令的集合。即指一段静态的代码,静态对象。进程(process)是程序的一次执行过程,或是正在运行的一个程序。是一个动态的过程:有它自身的产生、存在和消亡的过程。——生命周期如:运行中的QQ,运行中的MP3播放器程序是静态的,进程是动态的进程作为资源分配的单位,系统在运行时会为每个进程分配不同的内存区域线程(thread),进程可进一步细化为线程,是一个程序内部的一条执行路径。若一个进程同一

2022-01-17 19:25:45 70

原创 StringBuffer类和StringBuilder类

StringBuffer类在实际开发当中,我们经常会使用到字符串连接的操作,如果用String来操作,则使用“+”号完成字符串的连接操作使用String连接字符串,代码性能会非常低,因为String的内容不可改变解决这个问题的方法是StringBufferStringBuffer类源码分析package com.string;public class StringBufferDemo { public static void main(String[] args) {

2022-01-14 20:18:05 168 2

原创 String类及常用操作

字符串操作–String类String可以表示一个字符串String类实际是使用字符数组存储的String类的两种赋值方式一种称为直接赋值String name = "大猫";通过关键字new调用String的构造方法赋值String name = new String("大猫");String类的两种赋值分析:字符串常量池String name = new String(“大猫”),在内存中的分析String name = “大猫”,在内存中的分

2022-01-13 22:03:02 262

原创 什么是异常,异常体系结构,Error,Exception,异常处理机制,自定义异常,实际应用中的总结

什么是异常实际工作中,遇到的情况不可能是非常完美的。比如:你写的某个模块,用户输入不一定符合你的要求、你的程序要打开某个文件,这个文件可能不存在或者文件格式不对,你要读取数据库的数据,数据可能是空的等。我们的程序再跑着,内存或硬盘可能满了。软件程序在运行过程中,非常可能遇到刚刚提到的这些异常问题,我们叫异常,英文是:Exception,意思是例外。这些,例外情况,或者叫异常,怎么让我, 写的程序做出合理的处理。而不至于程序崩溃。异常指程序运行中出现的不期而至的各种状况,如:文件找不到、网络

2022-01-12 22:12:07 267

原创 static关键字,抽象类,接口,内部类

static关键字详解package com.mao.oop.demo07;//Static:public class Student { private static int age;//静态变量 多线程! private double score;//非静态变量 public void run(){ go();//非静态方法可以调用静态方法里面的东西 } public static void go(){ }

2022-01-12 17:21:14 121

原创 封装,继承(方法的重写),多态(instanceof;类型转换)

封装该露的露,该藏的藏我们程序设计要追求“高内聚,低耦合”。高内聚就是类的内部数据操作细节自己完成,不允许外部干涉;低耦合:仅暴露少量的方法给外部使用封装(数据的隐藏)通常,应禁止直接访问一个对象中数据的实际表示,而应通过操作接口来访问,这称为信息隐藏属性私有,get/setpackage com.mao.oop.demo04;//类 private:私有public class Student { //属性私有 private String na

2022-01-11 16:34:46 194

原创 面向过程&面向对象,什么是面向对象,方法的回顾,类和对象的关系创建与初始化对象,创建对象内存分析,类与对象的小结

面向过程&面向对象面向过程思想步骤清晰简单,第一步做什么,第二步做什么……面对过程合适处理一些较为简单的问题面向对象思想物以类聚,分类的思维模式,思考问题首先会解决问题需要哪些分类,然后对这些分类进行单独思考。最后,才对某个分类下的细节进行面向过程的思索面向对象适合处理复杂问题,适合处理需要多人协作的问题对于描述复杂的事物,为了从宏观上把握、从整体上合理分析,我们需要使用面向对象的思路来分析整个系统。但是,具体到微观操作,仍然需要面向过程的思路去处理什么是面向对象

2022-01-10 16:42:50 76

原创 数组的使用,多维数组,Arrays类,冒泡排序,稀疏数组,稀疏数组的介绍

数组的使用普通的For循环For-Each循环数组作为方法入参数组作为返回值package com.mao.array;public class ArrayDemo04 { public static void main(String[] args) { int[] arrays = {1,2,3,4,5}; //JDK1.5以上的版本才有,没有下标// for (int array : arrays) {//

2022-01-09 17:11:33 98

原创 数组的定义,数组的声明创建,内存分析,三种初始化,数组的四个基本特点,数组边界

数组的定义数组是相同类型数据的有序集合数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成其中,每一个数据称作一个数组元素,每个数组元素可以通过一个下标来访问它们数组的声明创建首先必须声明数组变量,才能在程序中使用数组。下面是声明数组变量的语法:dataType[] arrayRefvar;//首选的方法或dataType arrayRefvar[];//效果相同,但不是首选方法Java语言使用new操作符来创建数组,语法如下:dataType[]

2022-01-08 17:11:23 95

原创 命令行传参,可变参数(不定项参数),递归

命令行传参有时候你希望运行一个程序再传递给它消息。这要靠传递命令行参数给main()函数实现public class CommandLine{ public static void main(String args[]){ for(int i=0;i<args;i++){ System.out.println("args[" + i + "]:"+args[i]); } }}可变参数(不定项参数)J

2022-01-08 10:49:16 126

原创 Java中什么是方法,方法的定义,方法的调用,方法的重载

什么是方法Java方法是语句的集合,它们在一起执行一个功能方法是解决一类问题的步骤的有序组合方法包含于类或对象中方法在程序中被创建,在其他地方被引用设计方法的原则:方法的本意是功能块,就是实现某个功能的语句块的集合。我们设计方法的时候,最好保持方法的原子性,就是一个方法只完成1个功能,这利于我们后期的扩展方法的命名规则:首字母小写和驼峰原则:run(),runRun()package com.mao.method;public class Demo01 {

2022-01-07 22:38:48 209

原创 break,continue,打印三角形

break,continuebreak在任何循环语句的主体部分,均可用break控制循环的流程,break用于强行退出循环,不执行循环中剩余的语句。(break语句也在switch语句中使用)package com.mao.struct;public class BreakDemo { public static void main(String[] args) { int i = 0; while(i<100){ i++;

2022-01-07 20:25:10 187

原创 循环结构(while,do…while,for)三个小练习(0-100奇数偶数和,用while或for循环输出1-1000之间能被5整除的数,并且每行输出3个,打印九九乘法表)

循环结构while循环while是最基本的循环,它的结构为:while(布尔表达式){ //循环内容}只要布尔表达式为true,循环就会一直执行下去我们大多数情况是会让循环停止下来的,我们需要一个让表达式失效的方式来结束循环少部分情况需要循环一直执行,比如服务器的响应监听等循环条件一直为true就会造成无限循环【死循环】,我们正常的业务编程中应该尽量避免死循环。会影响程序性能或者造成程序卡死崩溃!思考1+2+3+…+100=?packag

2022-01-07 10:13:32 1890

原创 顺序结构,选择结构(if,switch)

顺序结构JAVA的基本结构就是顺序结构,除非特别指明,否则就按照顺序一句一句执行顺序结构是最简单的算法结构语句与语句之间,框与框之间是按从上到下的顺序进行的,它是由若干个依次执行的处理步骤组成的,它是任何一个算法都离不开的一种基本算法结构选择结构if单选择结构我们很多时候需要去判断一个东西是否可行,然后我们才去执行,这样一个过程在程序中用if语句来表示语法:if(布尔表达式){ //如果布尔表达式为true将执行的语句 }package com.mao

2022-01-06 20:14:50 76

原创 Scanner对象,next()和nextLine()的区别,Scanner的进阶使用

Scanner对象之前我们学的基本语法中我们并没有实现程序和人的交互,但是Java给我们提供了这样一搞工具类,我们可以获取用户的输入。java.util.Scanner是Java5的新特征,我们可以通过Scanner类来获取用户的输入基本语法:Scanner s = new Scanner(System.in);通过Scanner类的next()与nextLine()方法获取输入的字符串,在读取前我们一般需要使用hasNext()与hasNextLine()判断是否还有输入的数据

2022-01-06 16:37:09 113

原创 包机制,创建包时,无论怎样都建在同一级,JavaDoc,IDEA如何配置JavaDoc文档

包机制为了更好地组织类,Java提供了包机制,用于区别类名的命名空间包语句的语法格式为:package pkg1[.pkg2[.pkg…]];一般利用公司域名倒置作为包名;www.baidu.com com.baidu.www为了能够使用某一个包的成员,我们需要在Java程序中明确导入该包。使用“import”语句可以完成此功能import package1【.package2…】.(classname|*);创建包时,无论怎样都建在同一级首先选中包,然后取消c

2022-01-06 10:17:01 111

原创 运算符的使用

运算符Java语言支持如下运算符:优先级()算术运算符:+,-,*,/,%,++,–package operator;public class Demo01 { public static void main(String[] args) { //二元运算符 //Ctrl + D :复制当前行到下一行 int a = 10; int b = 20; int c = 25; int

2022-01-06 08:29:44 37

原创 类型转换,变量,常量,变量的命名规范

类型转换由于java是强类型语言,所以要进行有些运算的时候,需要用到类型转换低-------------------------------------------------------->高byte,short,char->int->long->float->doublefloat在long后面是因为小数的优先级比整数高运算中,不同类型的数据先转换为同一类型,然后进行运算强制类型转换自动类型转换public class Dem

2022-01-05 15:58:26 74

原创 数据类型拓展及面试题讲解

数据类型拓展及面试题讲解public class Demo03 {public static void main(String[] args) {//整数拓展 进制 二进制 十进制 八进制 十六进制 int i = 10; int i2 = 010;//八进制 int i3 = 0x10;//十六进制0x 0`9 A`F System.out.println(1); System.out.println(i2); System.ou

2022-01-05 11:06:13 49

原创 标识符及其注意点,数据类型的取值范围,什么是字节

标识符Java所有的组成部分都需要名字。类名、变量名以及方法名都被称为标识符public class Demo01 { public static void main(String[] args) { //大小写敏感 String Man = "damao"; String man = "damao";// String Ahello = "damao";// String hello = "damao";

2022-01-04 22:27:37 434

原创 第一个代码hello,world和可能会遇到的问题

HelloWorld随便新建一个文件夹,存放代码新建一个java文件文件后缀名为.javaHello.java【注意点】系统可能没有显示文件后缀名,我们需要手动打开编写代码public class Hello{ public static void main(String[] args){ System.out.print("Hello,World!"); }}编译 javac java文件,会生成一个class文件运行class文件,java clas

2022-01-04 16:22:31 321

原创 打开cmd的方式和常用DOS命令

打开cmd的方式开始+系统+命令提示符win键+R 输入cmd打开控制台在任意的文件夹下面,按住shift键9鼠标右键点击,在此处打开命令行窗口资源管理器的地址栏前面加上才cmd和空格 路径管理员方式运行:选择以管理员方式运行常用的DOS命令:#盘符切换 盘符+:#查看当前目录下的所有文件 dir#切换目录 cd change directory#跨盘操作需要加cd /d #返回上一级 cd ·· #清理屏幕 cls #退出终端 exit#查看电脑ip ipconfig#打

2022-01-04 16:15:19 241

原创 Markdown和快捷键

Markdown语法学习和windows快捷键

2022-01-04 08:36:59 180

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除