自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Mr.Rop的博客

一个小白的进阶之旅

  • 博客(39)
  • 资源 (1)
  • 收藏
  • 关注

原创 Git快速使用

文章目录1.1、Git1.2、常用的Linux命令1.3、Git配置1.4、Git基本理论1.5、Git项目创建及克隆1.6、Git基本操作命令1.7、使用码云1.8、idea中集成Git1.9、Git分支 1.1、Git Git Bash:Unix与Linux风格的命令行,使用最多,推荐最多 Git CMD:Windows风格的命令行 Git GUI:图形界面的Git,不建议初学者使用 1.2、常用的Linux命令 cd:改变目录 cd…:回退到上一个目录,直接cd进默认目录 pwd:显示当前所在的

2022-04-05 19:19:48 1374

原创 注解与反射

文章目录1.1、什么是注解1.2、内置注解1.3、元注解1.4、自定义注解1.5、反射1.6、Class类1.7、类加载内存分析1.8、什么时候会发生类初始化1.9、类加载器的作用1.10、获取运行时类的完整结构1.11、动态创建对象执行方法1.12、性能测试1.13、反射操作泛型1.14、反射操作注解 1.1、什么是注解 Annotation是从JDK5.0开始引入的新技术 Annotation的作用: 不是程序本身,可以对程序作出解释(这一点和注释(conmment)没什么区别) 可以被其他程序(比

2022-04-04 21:57:29 625

原创 网络编程_Study

文章目录1.1、概述1.2、网络通信的要素1.3、IP1.4、端口1.5、通信协议1.6、TCP1.7、文件上传1.8、Tomcat1.9、UDP1.10、UDP实现聊天1.11、使用多线程,实现两个人相互聊天1.12、URL下载网络资源 1.1、概述 信件 计算机网络: 计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。 网络编程的目的: 无线电台…传播交流信息,数据

2022-04-03 09:57:09 214

原创 C语言-01

​ 文章目录1、第一个test程序2、a+b3、通过方法调用实现a+b4、求两数最大者5、输出值为75-100的ASCII字符6、大写A转换小写a7、输出下面的图案8、求三个数中最大者9、对从1到用户输入的数进行求和10、求三角形面积 1、第一个test程序 #include<stdio.h> int main(){ printf("这是一个test\n"); } 2、a+b #include<stdio.h> int main(){ int a,b,sum; a = 10;

2022-03-08 15:10:39 668

原创 线程池案例

代码如下 public class TestPool { public static void main(String[] args) { // 1.创建服务,创建线程池 // newFixedThreadPool()线程池的大小 ExecutorService service = Executors.newFixedThreadPool(10); // 执行 service.execute(new MyThrea.

2022-02-23 17:23:50 81

原创 生产者消费者

// 测试生产者消费者模型 // 生产者,消费者,产品,缓冲区 public class TestPC { public static void main(String[] args) { SynContainer synContainer = new SynContainer(); new Producer(synContainer).start(); new Customer(synContainer).start(); } } // 生

2022-02-23 14:44:01 80

原创 Lock锁(ReentrantLock)

public class TestReentrantLock{ public static void main(String[] args) { Lock2 lock2 = new Lock2(); new Thread(lock2).start(); new Thread(lock2).start(); new Thread(lock2).start(); } } class Lock2 implements Runnab

2022-02-23 13:41:37 259

原创 解决死锁的例子--java

死锁前 public class DeadLock { public static void main(String[] args) { MakeUp m1 = new MakeUp(0,"灰姑娘"); MakeUp m2 = new MakeUp(1,"白雪公主"); m1.start(); m2.start(); } } // 口红 class Lipstick{ } // 镜子 class Mirror{ }.

2022-02-22 22:24:07 292

原创 解决三大不安全案例的方法

解决第15小节中不安全线程的方法 不安全买票案例 // synchronized 同步方法,锁的是this private synchronized void buy(){ // 判断是否有票 if (ticketNum<=0){ flag = false; return; } // 买票 System.out.println(Thread.currentThread().getName()+"买到了第"+ticketNu.

2022-02-22 19:13:55 139

原创 三大不安全案例

队列+锁能解决这个问题 不安全买票案例 // 可能出现负数 public class UnSafeBuyTicket { public static void main(String[] args) { BuyTicket station = new BuyTicket(); new Thread(station,"小明").start(); new Thread(station,"小红").start(); new Thread

2022-02-22 10:42:48 3374

原创 守护(Daemon)线程

线程分为用户线程和守护线程 虚拟机必须确保用户线程执行完毕 虚拟机不用等待守护线程执行完毕 如:后台记录操作日志,监控内存,垃圾回收等待… // 测试守护线程 // 上帝守护你 public class TestDaemon { public static void main(String[] args) { God god = new God(); You you = new You(); Thread thread = new Thread(g.

2022-02-21 14:50:04 503

原创 线程优先级

代码演示 start()调度之前先设置优先级 // 测试线程优先级 public class TestPriority { public static void main(String[] args) { // 主线程有默认的优先级 System.out.println(Thread.currentThread().getName()+"--->"+Thread.currentThread().getPriority()); //main主线程 .

2022-02-20 10:09:37 197 2

原创 观测线程状态源码

// 观察测试线程的状态 public class TestState { public static void main(String[] args) throws InterruptedException { Thread thread = new Thread(()->{ for (int i = 0; i < 5; i++) { try { Thread.sleep(1

2022-02-20 09:44:59 76

原创 join方法

代码演示 // 测试join方法,想象为插队 public class TestJoin implements Runnable { @Override public void run() { for (int i = 0; i < 100; i++) { System.out.println("vip来了"+i); } } public static void main(String[] args) thr.

2022-02-19 14:41:00 104

原创 简述线程礼让

礼让线程,让当前正在执行的线程暂停,但不阻塞; 将线程从运行状态转为就绪状态; 让cpu重新调度,礼让不一定成功,看cpu心情 代码演示 // 线程礼让 // 礼让不一定成功,看cpu心情 public class TestYield { public static void main(String[] args) { MyYield myYield = new MyYield(); new Thread(myYield,"a").start(); .

2022-02-19 14:17:28 135

原创 线程休眠_Sleep

sleep(时间)指定当前线程阻塞的毫秒数; sleep存在异常InterruptedException; sleep时间达到后线程进入就绪状态; sleep可以模拟网络延时,倒计时等; 每一个对象都有一个锁,sleep不会释放锁。 为什么需要网络延时? 答:放大问题的发生性 模拟倒计时 // 模拟倒计时 public class TestSleep2 { public static void main(String[] args) throws InterruptedExceptio.

2022-02-19 14:01:28 87

原创 线程状态及停止

线程状态 线程停止 public class TestStop implements Runnable { // 1.设置一个标志位 private boolean flag = true; @Override public void run() { int i = 0; while (flag){ System.out.println("run....Thread"+i++); } }

2022-02-16 19:42:48 131 2

原创 Lamda表达式

/* 推导Lambda表达式 */ public class TestLambda { // 3.静态内部类 static class Like2 implements ILike{ @Override public void Lambda() { System.out.println("I Like Lambda2"); } } public static void main(String[]

2022-02-15 23:17:23 214

原创 静态代理模式

// 静态代理模式 /* *真实对象和代理对象都要实现同一个接口 * 代理对象要代理真实角色 * */ // 好处: // 代理对象可以做很多真实对象做不了的事情 // 真实对象专注做自己的事情 public class StaticProxy { public static void main(String[] args) { You you = new You(); you.HappyMarry(); System.out.println("==

2022-02-14 22:16:38 117

原创 龟兔赛跑例子

// 模拟龟兔赛跑 public class Race implements Runnable { private static String winner; @Override public void run() { for (int i = 0; i <= 1000; i++) { // 模拟兔子睡觉 // if (Thread.currentThread().getName().equals("兔子")&am.

2022-02-14 22:15:54 68

原创 初识并发问题

初识并发问题 // 多个线程同时操作同一个对象 // 买火车票的例子 // 发现问题:多个线程操作同一个资源的情况下,线程不安全,数据紊乱 public class TestThread4 implements Runnable { private int ticketNum = 10; @Override public void run() { while (true){ if (ticketNum <= 0){

2022-02-14 22:13:38 110

原创 实现Runnable接口

实现Runnable接口 // 创建线程2: 实现Runnable接口,重写run()方法,执行线程需要丢入的runnable接口实现类,调用start()方法。 public class TestThread3 implements Runnable { @Override public void run() { for (int i = 0; i < 100; i++) { // run方法线程体 System.out

2022-02-14 22:12:32 1678

原创 多线程同步下载网络图片

多线程同步下载网络图片 // 练习Thread,实现多线程同步下载网络图片 public class TestThread2 extends Thread { private String url; // 网络图片地址 private String name; // 保存网络图片文件名 // 构造器 public TestThread2(String url, String name) { this.url = url; this.name

2022-02-14 22:11:46 184

原创 Java多线程基础知识点

1.核心概念 线程就是独立的执行路径; 在程序运行时,即使没有自己创建线程,后台也会有多个线程,如主线程,gc线程; main()称之为主线程,为系统的入口,用于执行整个程序; 在一个进程中,如果开辟了多个线程,线程的运行由调度器安排调度,调度器是与操作系统紧密相关的,先后顺序是不能人为干预的; 对同一份资源操作时,会存在资源抢夺的问题,需要加入并发控制; 线程会带来额外的开销,如CPU调度时间,并发控制开销; 每个线程在自己的工作内存交互,内存控制不当会造成数据不一致。 2.代码演示 public c

2022-02-14 22:10:10 72 2

原创 JavaScript-02

2、数据类型详解 2.1、字符串 1、正常字符串使用单引号或者双引号包裹 2、注意转义字符 \ \' \n \t \u4e2d //\u#### Unicode字符 \x41 //Ascll字符 3、多行字符串编写 <script> 'use strict'; //`是TEB上面的的英文下的符号 var msg = `hello world 你好呀

2022-01-11 19:03:40 67

原创 JavaScript-01

1、快速入门 1.1、引入JavaScript 1、内部标签 <!--script标签内,写JS代码--> <script> alert('hello rop'); </script> 2、外部引入 rop.js alert("hello rop"); <!--外部引入--> <!--注意:script必须成对出现--> <script src="js/rop.js"></script> 1.2、语法入门

2022-01-08 13:29:10 543

原创 JavaWeb-03

3、Tomcat 3.1、安装Tomcat https://tomcat.apache.org/ 3.2、Tomcat启动和配置 文件夹作用: 启动、关闭Tomcat 访问测试:http://localhost:8080/ 可能遇到的问题: Java环境变量没有配置 闪退问题:需要配置兼容性 乱码问题:配置文件中设置 3.3、配置 高难度面试题: 请你谈谈网站是如何进行访问的? 输入一个域名;回车 检查本机的C:\Windows\System32\drivers\etc\hosts配置

2021-03-29 14:33:35 93

原创 JavaWeb-02

2、web服务器 2.1、技术讲解 ASP: 微软:国内最早流行的就是ASP; 在HTML中嵌入了VB的脚本,ASP+COM; PHP: PHP开发速度快,功能很强大,跨平台,代码很简单 无法承载大访问量的情况(局限性) JSP/Servlet: B/S:浏览和服务器 C/S:客户端和服务器 sun公司主推B/S架构 基于Java语言的(所有的大公司,或者一些开源的组件,都是用Java写的) 可以承载三高问题带来的影响; 语法像ASP 2.2、web服务器 服务器是一种被动的操作,用来处理用户

2021-03-25 22:08:41 56 2

原创 JavaWeb-01

1、基本概念 1.1、前言 web开发: web,网页的意思,www.baidu.com 静态web html,css 提供给所有人看的数据始终不会发生变化 动态web 淘宝,几乎所有的网站 提供给所有人看的数据始终会发生变化,每个人在不同的时间,不同的地点看到的信息各不相同 技术栈:Servlet/JSP,ASP,PHP 在Java中,动态web资源开发的技术统称Javaweb; 1.2、web应用程序 web应用程序:可以提供浏览器访问的程序: a.html、b.html…多个web资

2021-03-25 22:02:23 54

原创 MySQL-10(重点)

10、JDBC(重点) 10.1、数据库驱动 驱动:声卡,显卡,数据库 我们的程序会通过 数据库 驱动 ,和数据库打交道 10.2、JDBC SUN公司为了简化 开发人员的 (对数据库的统一)操作,提供了一个(JAVA操作数据库)的规范,俗称JDBC,这些规范的实现由具体的厂商去做。 对于开发人员,只需掌握JDBC接口的操作即可。 java.sql javax.sql 还需要导入一个数据库驱动包 mysql-connerctor-java-5.1.47.jar 10.3、第一个JDBC程序 创建测试数

2021-03-23 23:14:40 261

原创 MySQL-09

9、规范数据库设计 9.1、为什么需要设计 当数据库比较复杂的时候,就需要设计 糟糕的数据库设计: 数据冗余,浪费空间 数据库插入和删除都会麻烦、异常[屏蔽使用物理外键] 程序的性能差 良好的数据库设计: 节省内存空间 保证数据库的完整性 方便开发系统 软件开发中,关于数据库的设计 分析需求:分析业务和需要处理的数据库的需求 概要设计:设计关系图 E-R图 设计数据库的步骤(个人博客): 收集信息,分析需求 用户表(用户登录注销,用户的个人信息,写博客,创建分类) 分类表(文章分

2021-03-23 23:02:57 56

原创 MySQL-08

8、权限管理和备份 8.1、用户管理 SQLyog可视化管理 SQL命令操作 用户表:mysql.user 本质:对这张表进行增删改查 -- 创建用户 CREATE USER 用户名 IDENTIFIED BY '密码'; CREATE USER zourong IDENTIFIED BY '123456'; -- 修改密码(修改当前用户密码) SET PASSWORD = PASSWORD('123456'); -- 修改密码(修改指定用户密码) SET PASSWORD FOR zour

2021-03-23 23:00:19 140 1

原创 MySQL-07

7、索引 MySQL官方对索引的定义为:索引(index)是帮助MySQL高效获取数据的数据结构。提取句子主干,就可以得到索引的本质:索引是数据结构。 7.1、索引的分类 在一个表中,主键索引只能有一个,唯一索引可以有多个 主键索引 (PRIMARY KEY) 唯一标识,不可重复,只能有一个列作为主键 唯一索引 (UNIQUE KEY) 避免重复的列出现,唯一索引可以重复,多个列都可以标识位 唯一索引 常规索引 (KEY/INDEX) 默认的,index,key关键

2021-03-23 22:56:52 67

原创 MySQL-06

6、事务 6.1、什么是事务 要么都成功过,要么都失败 一一一一一一一 1、SQL执行 A 给 B转账 A 1000 —>200 B 200 2、SQL执行 B 收到 A的钱 A 800 —> B 400 一一一一一一一 将一组SQL放在一个批次中去执行 事务原则:ACID原则 原子性,一致性,隔离性,持久性 (脏读,幻读…) 原子性(Atomicity) 要么都成功,要么都失败 一致性(Consistency) 事务前后的数据完整性要保证一致

2021-03-23 22:52:24 51

原创 MySQL-05

5、MySQL函数 5.1常用函数 -- ================ 常用函数 =============== -- 数学运算 SELECT ABS(-8) -- 绝对值 SELECT CEILING(9.4) -- 向上取整 SELECT FLOOR(9.4) -- 想下取整 SELECT RAND() -- 返回一个0-1之间的随机数 SELECT SIGN(10) -- 判断一个数的符号 0-0,负数返回-1,正数返回1 -- 字符串函数 SELECT CHAR_LENGTH('即使

2021-03-23 22:49:20 63 1

原创 MySQL-04(最重点)

4、DQL查询数据(最重点) 4.1、DQL (Data Query LANGUAGE:数据查询语言) 所有的查询操作都用它 Select 简单的查询,复杂的查询它都能做 数据库中最核心的语言,最重要的语句 使用频率最高的语句 创表的sql语句: -- 创建一个school数据库 CREATE DATABASE IF NOT EXISTS `school`; USE `school`; -- 创建年级表 DROP TABLE IF EXISTS `grade`; CREATE TABLE `gra

2021-03-23 22:46:32 87

原创 MySQL-03

3、MySQL的数据管理 3.1、外键(了解即可) 方式一、在创建表的时候,增加约束(麻烦,比较复杂) CREATE TABLE `grade`( `gradeid` INT(10) NOT NULL AUTO_INCREMENT COMMENT '年级id', `gradename` VARCHAR(50) NOT NULL COMMENT '年级名称', PRIMARY KEY (`gradeid`) )ENGINE=INNODB DEFAULT CHARSET=utf8 --

2021-03-23 22:42:12 111

原创 MySQL-02

2、数据库可视化操作 2.1、操作数据库 1、创建数据库 CREATE DATABASE [IF NOT EXISTS] westos; 2、删除数据库 DROP DATABASE IF EXISTS westos; 3、使用数据库 USE `school`; --tab上面的键,如果你的表名或字段名是一个特殊字符,就需要带`` 4、查看数据库 SHOW DATABASES --查看所有的数据库 2.2、数据类型 数值 tinyint 十分小的数据 1个字节 smallint

2021-03-23 20:32:33 1878 9

原创 MySQL-01

1、MySQL交互式窗口命令 mysql -u root -p123456 --连接数据库 update mysql.user set authentication_string=password('123456') where user='root' and Host='localhost'; --修改用户密码 flush privileges; --刷新权限 ----------------------------------------- show database; --查看所有数据库 my

2021-03-23 20:13:45 150 3

MySQL-10用到的jar包.zip

MySQL-10用到的jar包(包含数据库驱动,DHCP,C3P0,POOL,mysql-connector-java,mchange-commons-java)

2021-03-23

空空如也

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

TA关注的人

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