自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 java中的三个代码块

代码块:在Java中, 使用{}括起来的代码被称为代码块根据其位置和声明的不同可以分为局部代码块:局部位置,用于限定变量的生命周期s构造代码块:在类中的成员位置,用{}括起来的代码。每次调用构造方法执行前,都会先执行构造代码块an作用可以把多个构造方法中的共同代码放到一起,对对象进行初始化静态代码块:在类中的成员位置,用{}括起来的代码,只不过它用static修饰了作用:一般是对类进行初始化。面试题:静态代码块,构造代码块,构造方法的执行顺序?静态代码块–构造代码块–构造方法静态代码

2020-07-03 10:43:02 120 1

原创 静态变量和局部变量分别与成员变量的区别

一.静态变量和成员变量的区别1.所属不同静态变量属于类,所以也称为类变量成员变量属于对象,所以也称为实例变量(对象变量)2.内存中位置不同静态变量存储于方法区的静态区成员变量存储于堆内存3.内存出现时间不同静态变量随着类的加载而加载,随着类的消失而消失成员变量随着对象的创建而存在,随着对象的消失而消失4.调用不同静态变量可以通过类名调用,也可以通过对象调用.成员变量只能通过对象名调用二.局部变量和成员变量的区别?A:在类中的位置不同成员变量:在类中方法外局部变量:在方法定义中

2020-07-01 09:57:17 124

原创 static关键字注意事项

static关键字注意事项A:在静态方法中是没有this关键字的如何理解呢?静态是随着类的加载而加载,this是 随着对象的创建而存在。静态比对象先存在。B:静态方法只能访问静态的成员变量和静态的成员方法静态方法:静态成员变量:只能访问静态变量静态成员方法:只能访问静态成员方法非静态方法:非静态成员变量:可以访问静态的。也可以访问非静态的非静态成员方法:可以访问静态的成员方法,也可以访问非静态的成员方法。简单记:静态只能访问静态,非静态可以访问静态和非静态。...

2020-07-01 09:48:18 100

原创 static关键字

一.static的特点: (它可以修饰成员变量还可以修饰成员方法)A:随着类的加载而加载回想main方法。B:优先于对象存在C:被类的所有对象共享举例:咱们班级的学生应该共用同一个班级编号其实这个特点也是在告诉我们什么时候使用静态?如果某个成员变量是被所有对象共享的那么它就应该定义为静态的。举例:饮水机(用静态絛饰)水杯(不能用静态修饰)D:可以通过类名调用其实它本身也可以通过对象名调用。推荐使用类名调用。静态修饰的内容一般我们称其为与类相关的,类成员。二.对自己写的一个笔记c

2020-07-01 09:41:36 61

原创 成员变量与局部变量的区别

成员变量和局部变量的区别?A:在类中的位置不同成员变量:在类中方法外局部变量:在方法定义中或者方法声明上B:在内存中的位置不同成员变量:在堆内存局部变量:在栈内存C:生命周期不同成员变量:随着对象的创建而存在,随着对象的消失而消失局部变量:随着方法的调用而存在。随着方法的调用完毕而消朱D:初始化值不同成员变量:有默认初始化值局部变量:没有默认初始化值必须定义赋值然后才能使用。注意:局部变量名称可以和成员变量名称一样,在方法中使用的时候,采用的是就近原则。...

2020-06-28 11:42:31 112

原创 源码反码补码深入理解,很详细,通俗易懂(一道例题引入)

class Data{public static void main(String[] args) {byte a=(byte)130;System.out.println(a);//答案:-126}}计算这个题我们首先要明白一个原则(源码补码反码的相互转换)正数:源码反码补码都一样负数的源码反码补码转换原则:源码–反码:符号位不变,其余各位由0–1,1–0相互转换反码–补码:符号位不变,在反码的基础上进行加一操作130本身是一个int类型的整数(byte整数范围(-128-1.

2020-06-14 16:44:44 403

原创 把文本框的值转移到文本域案例

import java.awt.Button;import java.awt.FlowLayout;import java.awt.Frame;import java.awt.TextArea;import java.awt.TextField;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.WindowAdapter;import java.awt.ev

2020-06-14 10:37:43 424

原创 通过鼠标移动到按钮更改背景色案例

import java.awt.Button;import java.awt.Color;import java.awt.FlowLayout;import java.awt.Frame;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.MouseAdapter;import java.awt.event.MouseEvent;import java.awt

2020-06-14 10:31:26 420

原创 java设计模式之单例模式

单例模式概念:保证类存中只有一个对象如何保证类在内存中只有一个对象呢?A:把构造方法私有B:在成员位置自己创建一个对象C:通过一个公共的方法提供访问单例模式分为: 饿汉式:类一加载就创建对象 懒汉式:用的时候,才去创建对象面试题:单例模式的思想是什么?请写一个代码体现开发:饿汉式(是不会出问题的单例模式)面试:懒汉式(可能会出现问题的单例模式) A:懒加载(延迟加载) B:线程安全问题: a:是否多线程环境 是 .

2020-06-12 09:49:38 64

原创 多线程常见的几道简单面试题

1:多线程有几种实现方案,分别是哪几种?常见有两种。(1)继承Thread类(2)实现Runnable接口扩展一种:实现Callable接口,这个需要和线程池结合才能使用2:同步有几种方式,分别是什么?两种(1)同步代码块(2)同步方法3:启动一个线程是run()还是start()?他们的区别?start();区别:run():封装了被线程执行的代码,直接调用仅仅是普通方法的调用start():启动线程,并由JVM自动调用run()方法4:sleep()和wait()方法的区别?

2020-06-11 10:16:26 100

原创 线程通信及唤醒机制

线程间通信问题: 不同种类的线程间针对同一资源的操作例:通过设置线程(生产者)和获取线程(消费者)针对同一个学生对象进行操作分析 资源类:Student 设置学生数据:SetThread(生产者) 获取学生数据:GetThread(消费者) 测试类:A生产者消费者问题线程安全问题 1:是否多线程环境 2:是否有共享数据 3:是否有多条语句操作共享数据解决方案 加锁 注意:不

2020-06-10 09:06:55 107

原创 java线程同步锁,死锁。

*1:同步代码块解决线程安全问题*同步代码块格式:synchronized(对象)//这里的对象相当于就是一把锁,多个线程必须是同一把锁。{(需要同步的代码);//让某个线程在执行的时候,别人不能执行。}对象:我们可以随便创建一个对象试试。需要同步的代码是哪些呢?把多条语句操作共享数据的代码的那部分给包起来 。 *同步的特点好处和弊端 特点 多个线程 解决问题的时候要注意:

2020-06-09 10:51:45 113

原创 简单指针数组,数组指针的总结。

指针数组:表示数组的元素是地址例:int* a[5];分解式定义1:a[5]={&b,&c,&d,&e,&f};2:a前边是每个元素的类型 int*3:所以这种数组这样定义为int* a[5]={&b,&c,&d,&e,&f};每个元素是地址#include <stdio.h>#include <stdlib.h>int main(void){int b=1,c=2,d=3,e

2020-06-08 17:08:41 119

原创 看病排队候诊(3个优先级)代码有少许不严谨。

/*consts.h /#include<string.h>#include<malloc.h> / malloc()等 /#include<stdio.h> / EOF(=^Z或F6),NULL /#include<stdlib.h> / atoi() //system/#include<io.h> / eof() /#include<math.h> / floor(),ceil(),abs() */#include&

2020-06-06 10:09:05 863

原创 线程调度与线程控制

/**获取默认优先级默认优先级为5注意:线程优先级范围是1-10public final int getPriority()返回对象的优先级如何设置线程对象的优先级呢?public final void setPriority(int newPriority)//更改线程优先级*///线程的调度public class ThreadPriorityDemo {public static void main(String[] args) {ThreadPriority t

2020-06-06 10:05:03 130

转载 排序算法作为数据结构的重要部分,系统地学习一下是很有必要的。

1、排序的概念排序是计算机内经常进行的一种操作,其目的是将一组“无序”的记录序列调整为“有序”的记录序列。排序分为内部排序和外部排序。若整个排序过程不需要访问外存便能完成,则称此类排序问题为内部排序。反之,若参加排序的记录数量很大,整个序列的排序过程不可能在内存中完成,则称此类排序问题为外部排序。2、排序分类八大排序算法均属于内部排序。如果按照策略来分类,大致可分为:交换排序、插入排序、选择排序、归并排序和基数排序。如下图所示:3、算法分析1.插入排序*直接插入排序*希尔排序2.选择排

2020-06-03 10:52:57 591

原创 算法分硬币的三种方法

#include<stdio.h>#include<stdlib.h>#include<windows.h>int main(){//单重循环int x=0,y=0,z;//数据初始化for(z=0;z<13;z++){{y=(50-4z);x=3z;//根据公式变形而来的关系printf(“一分有%d枚,两分有%d枚,五分有%d枚\n”,x,y,z);//输出每一种组合}}system(“pause”);return 0;}

2020-06-03 10:36:56 606

原创 java JDK5新特性增强for

增强for是for循环的一种格式: for(元素数据类型 变量:数组或者Coolection集合){ 使用变量即可,该变量就是元素 } 好处:简化了数组和集合的遍历 弊端:增强for的目标不能为null 如何解决呢?对增强for的目标先进行不为null的判断,然后在使用。public class ForDemo {public static void main(String[] args) {// //定义一个int数组.

2020-06-03 10:19:54 131

原创 java线程进程的简单概述

package a一.多线程的概述;/**要先了解多线程,必须先了解线程,要了解线程,必须先了解进程,因为线程依赖于进程而存在什么是进程呢? 通过计算机的任务管理器我们就看到进程的存在,通过观察只有运行的程序,才能出现进程。 所以进程就是正在运行的程序,是系统进行资源分配和调用的独立单位 ,每一个进程都有它自己的内存空间和系统资源多进程有什么意义呢?单进程的计算机只能做一件事情,而我们现在的计算机都可以做多件事情举例:一边玩游

2020-06-03 10:10:08 85

空空如也

空空如也

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

TA关注的人

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