05-面向对象基础
✨你好啊,我是“ 罗师傅”,是一名程序猿哦。🌍主页链接:楚门的世界 - 一个热爱学习和运动的程序猿☀️博文主更方向为:分享自己的快乐 briup-jp3-ing❤️一个“不想让我曾没有做好的也成为你的遗憾”的博主。💪很高兴与你相遇,一起加油!
前言
目标:Java基础编程,熟练Java开发语法和规则,养成良好编程习惯
本节理论较多,注意不要睡着了哈💦💦💦
面向对象
OOP(object oriented programming), 面向对象编程
是一种以对象为中心的编程思想,通过借助对象实现具体的功能
将大问题拆分为小问题,然后借助不同对象分别解决,最终实现功能
POP(procedure oriented Programming),面向过程编程
是一种以过程为中心的编程思想,靠自己一步一步去实现功能,需要对每个步骤精确控制
强调按步骤实现功能,先分析解决问题锁需步骤,再定义方法实现每个步骤功能,然后依次调用方法,最终实现功能
面向对象语言特征
封装(encapsulation)信息隐蔽
继承(inheritance)代码重用
多态(polymorp ...
utools
✨你好啊,我是“ 罗师傅”,是一名程序猿哦。🌍主页链接:楚门的世界 - 一个热爱学习和运动的程序猿☀️博文主更方向为:briup-jp3-ing❤️一个“不想让我曾没有做好的也成为你的遗憾”的博主。💪很高兴与你相遇,一起加油!
前言
再续前缘:超级好用的工具集合
🏌🏌🏌utools
utools主要是用于本地搜索+各种各样的桌面脚本。
官网地址如下:uTools官网 - 新一代效率工具平台
主要使用的两个快捷键:
alt + 空格 (快速打开utools面板)
ctrl + d (将面板定在桌面)
既是插件也是应用
uTools 插件应用: 轻量、安全、简洁、无广告
按下鼠标中键,弹出 uTools 超级面板
随心所欲,信手拈来
快捷键「Alt + 空格」,呼出 uTools 搜索框
呼之即来,用完即走
🐙各大功能🌞搜索
搜索有强大的本地搜索功能,同时能够对不同的文件类型进行分类
🥡超级面板
对文件夹、图片、文件 点击鼠标中键后有惊喜🌟
如果是使用触摸板的话,可以设置四指点击为鼠标中键
🌵添加本 ...
04-数组
✨你好啊,我是“ 罗师傅”,是一名程序猿哦。🌍主页链接:楚门的世界 - 一个热爱学习和运动的程序猿☀️博文主更方向为:分享自己的快乐 briup-jp3-ing❤️一个“不想让我曾没有做好的也成为你的遗憾”的博主。💪很高兴与你相遇,一起加油!
前言
目标:Java基础编程,熟练Java开发语法和规则,养成良好编程习惯
数组概述
数组,表示一块连续的内存空间,可用来存储多个数据(元素),要求元素类型要一致。
数组定义
数据类型[] 数组名(推荐)
1int[] arr1;
数据类型 数组名[]
1int arr1[];
数组内存理解
attention:
数组是引用数据类型,用来存储一个引用值(可理解为地址值)
数组/变量 没有进行初始化,不可直接使用
数组初始化
定义数组(开辟栈空间内存)的同时,给其赋上初值,就叫做数组的初始化!
动态初始化
格式:数据类型[] 数组名 = new 数据类型[数组长度]
案例:
1int[] arr1 = new int[3];
注意:
new是一个关键字,表示数组在堆内存区域开辟内存空间
等 ...
03-操作符-流程控制-方法
✨你好啊,我是“ 罗师傅”,是一名程序猿哦。🌍主页链接:楚门的世界 - 一个热爱学习和运动的程序猿☀️博文主更方向为:分享自己的快乐 briup-jp3-ing❤️一个“不想让我曾没有做好的也成为你的遗憾”的博主。💪很高兴与你相遇,一起加油!
前言
目标:Java基础编程,熟练Java开发语法和规则,养成良好编程习惯
操作符
操作符:对字面值常量或变量进行操作的符号,也称 运算符 。表达式:用操作符把字面值常量或变量连接起来的式子(符合Java语法),就称之为表达式。
1int a = b + c; // + 运算符 (b+c)表达式
运算符分类
算术运算符
赋值运算符
比较|关系|条件 运算符
逻辑运算符
位运算符
算术运算符
% 求余运算符
12345678int n = 13 % 5;System.out.println(n); // 3n = 13 % -5;System.out.println(n); // 3n = -13 % 5;System.out.println(n); // -3n = -13 % -5;System.out.printl ...
02-标示符-关键字-变量
✨你好啊,我是“ 罗师傅”,是一名程序猿哦。🌍主页链接:楚门的世界 - 一个热爱学习和运动的程序猿☀️博文主更方向为:分享自己的快乐 briup-jp3-ing❤️一个“不想让我曾没有做好的也成为你的遗憾”的博主。💪很高兴与你相遇,一起加油!
前言
目标:Java基础编程,熟练Java开发语法和规则,养成良好编程习惯
注释
Java中的注释,分为三种:
单行注释
多行注释
文档注释
1234567// 单行/* 多行*//** 文档注释*/
思考:Java源代码中如果添加了注释,会不会导致字节码文件会臃肿变 大?
回答:不会的。因为源代码文件:Xxxx.Java 通过编译生成字节码文件: Xxxx.class的过程中,编译器会忽略掉源码中的注释部分。
关键字
关键字概述:
被Java语言赋予特定含义的单词
关键字特点:
组成关键字的字母全部小写,常用的代码编辑器对关键字都有高亮显示
Keywords in Java:
instanceof
它的作用是检查一个对象是否是指定类或接口类型的实例,或者是否是该类的子类实例
1234if (obj ...
01-Java基础入门
✨你好啊,我是“ 罗师傅”,是一名程序猿哦。🌍主页链接:楚门的世界 - 一个热爱学习和运动的程序猿☀️博文主更方向为:分享自己的快乐 briup-jp3-ing❤️一个“不想让我曾没有做好的也成为你的遗憾”的博主。💪很高兴与你相遇,一起加油!
前言
目标:Java基础编程,熟练Java开发语法和规则,养成良好编程习惯
概述Java是什么?
Java是一门非常优秀的计算机编程语言 (Go也很优秀)
Java之父:詹姆斯·高斯林(James Gosling)
历史世界语言排名
2023年7月21日:
Java关键时间
1991年4月,由 James Gosling 博士领导的绿色计划Green 启动 项目目的是开发一种能够在各种消费性电子产品(如机顶盒、冰箱等)上 运行的程序架构 该项目最终的产品是 Oak(橡树) ,即Java语言的前身
1995年5月23日,Oak语言改名为Java,并且在SunWorld大会上正式发布 Java 1.0版本 Java语言第一次提出了Write Once,Run Anywhere的口号
1996年1月23日,JDK 1.0发布 ...
①Linux-操作系统-2
✨你好啊,我是“ 罗师傅”,是一名程序猿哦。🌍主页链接:楚门的世界 - 一个热爱学习和运动的程序猿☀️博文主更方向为:分享自己的快乐 briup-jp3-ing❤️一个“不想让我曾没有做好的也成为你的遗憾”的博主。💪很高兴与你相遇,一起加油!
前言
Linux 服务的基本操作-2
常用命令touch
123touch a.txt# 当a.txt文件不存在的时候,会创建该文件# 当a.txt文件存在的时候,会更新文件的修改时间
1touch a b c d
mkdir
1234mkdir teestmkdir test1 test2 test3 # 创建多个平级目录mkdir ~/test4 # 在当前用户家路径下创建一个子目录mkdir -p /test1/test2/test3 # 创建多级子目录,-p表示如果子目录不存在就创建
cp
123cp a.txt b.txt# 如果b.txt不存在,则自动创建b.txt文件# 如果b.txt 存在,则自动覆盖b.txt文件内容
1cp -i a.txt b.txt # 使用-i进行覆盖提示
12cp a ...
基础篇-interview-heima
[toc]
✨你好啊,我是“ 罗师傅”,是一名程序猿哦。🌍主页链接:楚门的世界 - 一个热爱学习和运动的程序猿☀️博文主更方向为:备战秋招ing❤️一个“不想让我曾没有做好的也成为你的遗憾”的博主。💪很高兴与你相遇,一起加油!
前言
逢郎欲语低头笑,碧玉搔头落水中。——白居易《采莲曲》
二分查找手写二分查找
123456789101112131415161718192021222324public class BinarySearch { public static void main(String[] args) { int[] array = {1, 5, 6, 33, 55, 77, 99, 334, 456}; int target = 99; int idx = binarySearch(array, target); System.out.println("idx = " + idx); } // 二分查找,找得 ...
Java八股文面试题_heima_contents
[toc]
✨你好啊,我是“ 罗师傅”,是一名程序猿哦。🌍主页链接:楚门的世界 - 一个热爱学习和运动的程序猿☀️博文主更方向为:备战ing❤️一个“不想让我曾没有做好的也成为你的遗憾”的博主。💪很高兴与你相遇,一起加油!
前言
磨刀霍霍向猪羊!
基础篇
基础篇-interview-heima
并发篇虚拟机框架篇❤️❤️❤️忙碌的敲代码也不要忘了浪漫鸭!
不破楼兰终不还💪。
go-advanced-learning-week03
✨你好啊,我是“ 罗师傅”,是一名程序猿哦。🌍主页链接:楚门的世界 - 一个热爱学习和运动的程序猿☀️博文主更方向为:分享自己的快乐❤️一个“不想让我曾没有做好的也成为你的遗憾”的博主。💪很高兴与你相遇,一起加油!
前言
随着Go语言基本语法学习结束,迫切需要对Go进行更深入的学习。
主要分为三个模块:线程加锁、线程调度、内存管理
线程加锁锁
Go语言不仅仅提供基于CSP的通讯模型,也支持基于共享内存的多线程数据访问
Sync包提供了锁的基本原语
sync.Mutex 互斥锁
Lock()加锁,Unlock()解锁
sync.RWMutex 读写分离锁
不限制并发读,只限制并发写和并发读写
sync.waitGroup
等待一组goroutine返回
sync.Once
保证某段代码只执行一次
sync.Cond
让一组 goroutine 在满足特定条件时被唤醒
线程调度深入理解Go语言线程调度
进程:资源分配的基本单位
线程:调度的基本单位
无论是线程还是进程,在linux中都以task_struct描述,从内核角度看,与进程无本质区别
G ...