- 博客(17)
- 收藏
- 关注
原创 创建线程的方式
● 解耦,把定义线程与定义任务分开。(解耦:把不同的功能都给分开,如果要修改或查找相应的功能的时候,可以直接到指定的位置查找)● 把创建线程与定义任务分开,以便修改代码时,可以统一修改。
2023-10-06 09:41:53
50
原创 单例模式(保证线程安全)
初识化代码只执行一次,后续的线程在调用getInstance()时,依然会产生锁竞争,频繁的进行用户态和内存态之间的切换,非常浪费计算机资源。static修饰一个变量之后,这个变量就从⼀个普通的成员变量、属性变成了类对象的成员变量,⽽在JVM中⼀个类只有⼀个类对象,从⽽保证了static变量的唯⼀性。懒汉模式在多线程环境下,可能出现线程安全的问题,那么就需要使用synchronized包裹初始化的代码块。为了避免程序启动的时候浪费过多的系统资源,当程序使用这个对象时再进行初始化,把这种模式叫做“懒汉模式。
2023-07-08 10:59:19
46
原创 Java 线程的状态
需要注意的是操作系统的PCB本身是有线程状态的, Java中的线程是⽤Thread表示的,本身是⼀个对象。这个线程状态说的是(有自己的生命周期)的状态,并不是PCB的状态。Java线程共包括一下六种状态NEW,RUNNABLE,TERMINATED,TIMED_WATING,WAITING,BLOCK。
2023-07-08 09:00:50
35
原创 进程和线程的区别和联系
区别进程是申请系统资源调度的最小单位线程是CPU调度的最小单位进程之间互相不影响,线程之间可以互相影响联系对于一个进程来说,必然会有一条线程(即主线程)一个进程可以有多个线程,但一条线程只能属于一个进程系统资源分配给进程,同一个进程的所有线程共享该进程所有资源
2023-07-07 21:11:08
24
原创 类和对象(static,this关键字)
Person(String name,int age) => 给 name 和 age 属性从外部赋值。Person(String name) => 只给name属性从外部赋值。Person() => 所有成员变量都是默认值。修饰构造方法语法: this(构造方法参数);与具体对象无关,和一个类本身相关的内容!
2023-04-08 17:10:00
39
原创 面向对象开发的三大特性
多态∶简而言之“相同的行为/方法,通过不同对象来使用时,展现出不同的状态,这样的一种特性称为多态性"继承概念︰共性抽取,代码复用。
2022-01-16 10:43:09
249
原创 方法的重载(overload)
C语言Java语言一个编译单元里(一个C文件)不允许出现相同名称的函数一个编译单元里(一个Java类)允许出现相同名称的函数(方法),参数列表不同方法的签名(signature): Java编译单元中唯一确定方法的标识,只要方法签名不相同,就可以定义新的方法(=方法名 + 参数列表) 备注:1.参数列表,只看类型,不看名称 add(int a,int b){...} add(double a,double b){...} 可以定义 add(in...
2021-11-26 16:19:46
153
原创 C语言实现玩家与电脑对战三子棋
C语言实现玩家与电脑对战三子棋头文件#include <stdio.h>#include <stdlib.h>#include <time.h>#define max_row 3//用宏定义3行#define max_col 3//用宏定义3列使用init函数把棋盘的每个格子都初始化成空格void init(char board[max_row][max_col]) { for (int row = 0; row < 3; row++) {
2021-10-29 10:23:15
121
原创 java银行账户信息
个人银行账户信息主函数public class TestBank { public static void main(String[] args) { Customer c = new Customer(); c.name = "毛概"; c.cid = "111123"; c.tel = "10010"; c.address = "陕西"; Account a = new Acco
2020-11-12 21:21:49
372
原创 Java小项目——家庭记账软件
Java家庭记账软件目标•模拟实现一个基于文本界面的《家庭记账软件》•掌握初步的编程技巧和调试技巧•主要涉及以下知识点:-局部变量和基本数据类型-循环语句-分支语句-方法调用和返回值的接收-简单的屏幕输出格式控制需求说明•模拟实现基于文本界面的《家庭记账软件》。•该软件能够记录家庭的收入、支出,并能够打印收支明细表。•项目采用分级菜单方式。主菜单如下:-----------------家庭收支记账软件-----------------1收支明细2登记收入3登记支出4退 出
2020-10-20 15:37:00
565
1
原创 飞机大战
飞机大战w为向上移动,a为向左移动,s为向下移动,d为向右移动,空格为发射子弹隐藏光标函数void hide_cursor(void){ CONSOLE_CURSOR_INFO info={1,0}; SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE),&info);}//隐藏光标飞机大战的主函数int main(...
2019-11-08 15:56:44
172
原创 杨辉三角
杨辉三角#include <stdio.h>#include <stdlib.h> #define N 6int main(void) { int arr[N][N]; int i,j; for(i=0;i<N;i++){ for(j=0;j<=i;j++){ if(j==0||j==i) arr[i][j] = 1; ...
2019-11-08 15:52:07
72
原创 C的变量
C的变量定义位置的区别局部变量函数或代码块内定义全局变量函数或代码块外定义变量的作用范围局部变量1.局部变量作用域在本函数或本代码块内有效 2.局部变量的生命周期随函数或代码块全局变量1.作用域从定义处往下都有效 2.全局变量的生命周期程序启动时被创建,程序结束时被释放变量的符号属性类型字节数int(基本整型...
2019-10-09 17:22:30
90
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人