自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 网络之 Http

1.认识 URL我们俗称的网址就叫做URLURL的格式:协议(http/https)????/服务器地址(ip/域名):端口号/目录地址/页面?参数其中 端口号为默认端口号的话,可以省略,比如,http的默认端口号为80,https的默认端口号为4432.Http协议格式分为两部分:request请求头:...

2021-07-28 17:23:23 1212

原创 实现线程的时间格式化

实现两个线程的时间格式化:SimpleDateFormatpublic static void main(String[] args) { ThreadPoolExecutor threadPoolExecutor = new ThreadPoolExecutor(10,10,0, TimeUnit.SECONDS, new LinkedBlockingQueue<>(1000)); for (int i = 1; i &lt

2021-07-27 20:03:32 149

原创 Java 线程池

线程缺点:线程的创建它会开辟本地方法栈、虚拟机栈、程序计数器成线程私有的内存,同时消耗的时候需要销毁以上3个区域,因此频繁的创建和消耗比较消耗系统资源 在任务量远远大于线程可以处理的任务量的时候,并不能友好拒绝任务线程池:定义:使用池化技术来管理线程和使用线程的方式线程池有两个重要对象:线程 工作队列(Integer 最大值)优点:可以避免频繁的创建和销毁线程 可以更好的管理线程的个数和资源的个数 线程池拥有更多的功能,比如线程池可以进行定时任务的执行 线程池可以更优化的拒

2021-07-27 14:40:54 201

原创 Java 多线程

目录多线程1. 认识线程2.创建线程3.Thread 类及常见方法3.13.2启动一个线程3.3中断一个线程3.4等待一个线程3.5线程休眠:线程的状态多线程1. 认识线程进程VS线程进程实习是系统分配资源的最小单位;线程是系统调度的最小单位 一个进程中可以包含多个线程。 进程的实际执行单位是线程。 一个进程里面最少包括一个线程,线程的存在必须依托于进程。 进程不可以资源共享,线程可以。多线程的优势-增加运行速度...

2021-07-27 14:27:00 127

原创 JUC(Java并发包)

JUCJUC包下的所有类都是线程安全的,juc 下有:1.ReetrantLock2.Semaphore(信号量)3.CyclicBarrier(循环屏障)4.CountDownLatch(计数器)

2021-06-08 19:16:33 155

原创 JVM简介

JVM一. JVM 组成部分(5部分)1. 堆(线程共享)所有创建的对象信息都放在这个区域中。堆也是JVM中最大的一块内存堆的数据划分:a> 新生代:新创建的数据会在新生代中,当经历了一定次数的GC(垃圾回收),依然存活下来的数据,会移动到老年代(HotSpot默认的垃圾回收次数是15)。新生代又有三个区域:b>老生代:存放的是经过一定次数GC还存活的对象和大对象面试题:为什么大对象会直接存放在老年代中?答:因为大对象的创建和销毁所需要的时间比较多,所以性能

2021-06-01 18:59:09 97

原创 Java锁策略

乐观锁它认为一般情况下不会出现问题,所以它在使用的时候不会加锁,只有在数据修改的时候才会判断有没有锁竞争,如果没有就会直接修改数据,如果有则会返还失败信息给用户自行处理1.乐观锁的经典事项:CAS(Compare And Swap)对比且替换CAS 实现:三个重要内容:V【内存中的值】,A【预期的旧值】,B【新值】一个 CAS 涉及到以下操作:比较 A 与 V 是否相等。(比较) 如果比较相等,将 B 写入 V。(替换) 返回操作是否成功。 Java在返回...

2021-05-29 17:01:57 124

原创 ThreadLocal

ThreadLocal 3种使用方式方法1:public class ThreadLocalDemo1 { // 创建线程的私有变量 private static ThreadLocal<String> threadLocal = new ThreadLocal<>(); public static void main1(String[] args) { //定义公共任务 Runnable .

2021-05-26 21:35:26 65

原创 线程池的5种拒绝策略

线程池的5种拒绝策略new ThreadPoolExecutor.AbortPolicy():默认拒绝策略,不执行任务抛出异常new ThreadPoolExecutor.CallerRunsPolicy():把当前的任务交给主线程执行new ThreadPoolExecutor.DiscardOldestPolicy():丢弃最老的任务new ThreadPoolExecutor.DiscardPolicy():丢弃最新的任务自定义拒绝策略:new RejectedExecuti

2021-05-22 09:16:23 670

原创 线程死锁问题

死锁问题定义:在两个或两个以上的线程运行中,因为资源抢占而造成线程一直等待的问题。死锁的实例:import java.util.concurrent.TimeUnit;/** * 死锁演示 */public class ThreadDemo36 { public static void main(String[] args) { Object lockA=new Object(); Object lockB=new Object();

2021-05-15 14:11:28 88

原创 线程安全问题

多线程带来的的风险-线程安全(重点)1.观察线程不安全package Test.thread;public class ThreadDemo { private static class Counter { private long n = 0; public void increment() { n++; } public void decrement() { n--..

2021-05-11 15:57:40 143

原创 操作系统初识

内存VS外存内存一般比较小,磁盘一般比较大 造价不同,内存造价比较贵,磁盘便宜 内存是以纳秒级别度,磁盘读写单位是微秒;内存操作速度比磁盘快很多 内存不能进行持久化,磁盘可以持久化注意事项:输入设备、输出设备和CPU不能直接进行交互,他们需要通过内存来进行交换...

2021-04-27 15:34:07 92

原创 Java每日一题 Day_9

Java每日一题 Day_91.下面程序的输出是:() String x="fmn";x.toUpperCase();String y=x.replace('f','F');y=y+"wxy"; System.out.println(y);A FmNwxyB fmnwxyC wxyfmnD Fmnwxy正确答案: D解析为: String x = "fmm";“fmn”是在常量的不可变对象。 x.toUpperCase...

2021-04-25 21:25:39 466 1

原创 Servlet的简介

Servlet简介1.什么是servlet 概念:Java Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层。 定位:Java Servlet用Java编写的服务器端程序(web application)。 作用:其主要功能在于交互式地浏览和修改数据,生成动态Web内容。 理解:狭义的Servlet是指Java语言实现的一个接口,广义的Servle...

2021-04-25 20:34:27 76

原创 Java方向每日一题day_8

1.java中关于内存回收的正确说法是A 程序员必须创建一个线程来释放内存B 内存回收程序负责释放无用内存C 内存回收程序允许程序员直接释放内存D 内存回收程序可以在指定的时间释放内存对象正确答案: B2.A派生出子类B,B派生出子类C,并且在java源代码中有如下声明:以下哪个说法是正确的?A a0=new A();A a1=new B();A a2=new C();A 第1行,第2行和第3行的声明都是正确的B 第1,2,3行都能通过编译,但第2,3行运行.

2021-04-25 20:31:36 278

原创 Java的JDBC编程

java.sql.*,javax.sql.*

2021-04-24 09:34:53 68

原创 Servlet 的生命周期

Servlet 的生命周期Servlet 的 JavaEE 中指定了一套标准,目前主要的用途就是写 web 应用(web application)。 主要有三个阶段: init()初始化阶段 service()处理客户端请求阶段 destroy()终止阶段 1.初始化阶段:Servlet容器加载Servlet,加载完成后,Servlet容器会创建一个Servlet实例并调用init()方法,init()方法只会调用一次。Servlet 创建于用户第一次调.

2021-04-22 21:55:19 61

原创 简易计算器的制作(JavaScript)

目录简易计算器(运用JavaScript)1.界面3.结构4.按钮点击事件5.整体实现简易计算器(运用JavaScript)实现的页面如下:1.界面外层外层用宽度为4px的线条框住计算器主界面整个计算器宽为700px,长为500px.whole { border:4px solid #1687a7; margin-top: 150px; margin-left: 400p...

2021-03-30 23:16:26 973

原创 HTML基础知识

目录HTML(Hyper Text Markup Language)1.元素(Element)2.嵌套元素(Nesting Element)3.块级(block)元素和内联(inline)元素4.空元素(Empty Element)5.属性(Attributes)6.布尔属性7.单引号或者双引号8.文档结构(Document Structure)9.HTML 注释10.实体引用(Entity References)11.HTML中的空白12.常见的元.

2021-03-30 22:36:59 111

原创 MySQL索引 事务

目录MySQL索引 事务1. 索引1.1 概念1.2 作用1.3 使用1.4 案例2. 事务2.1 概念2.2使用3. 内容重点总结MySQL索引 事务1. 索引1.1 概念索引是一种特殊的文件,包含着对数据表里所有记录的引用指针。可以对表中的一列或多列创建索引, 并指定索引的类型,各类索引有各自的数据结构实现。1.2 作用数据库中的表、数据、索引之间的关系,类似于书架上的图书、书籍内容和书籍目录的关系。 索引所起的作用类似书籍目录,.

2021-03-17 15:54:41 80

原创 认识String

认识String1. 创建字符串2. 字符串比较相等3. 字符串常量池4. 理解字符串不可变5. 字符, 字节与字符串5.1 字符与字符串5.2 字节与字符串6. 字符串常见操作6.1 字符串比较6.2 字符串查找6.3 字符串替换6.4 字符串拆分6.5 字符串截取6.6 其他操作方法7. StringBuffer 和 StringBuilder1. 创建字符串常见的构造 String 的方式// 方式一String str = "abcd";// 方式二String str2 = new S

2021-01-21 18:56:47 185

原创 面向对象编程(包,继承,组合,多态,抽象类,接口)

面向对象编程1. 包1.1导入包中的类1.2静态导入1.3将类放到包中1.4包的访问权限控制1.5常见的系统包2.继承2.1语法规则基本语法2.2protected 关键字2.3更复杂的继承关系2.4final 关键字3.组合4. 多态4.1向上转型4.1.1方法传参4.1.2方法返回4.2动态绑定4.3方法重写4.4理解多态4.5向下转型4.6super 关键字1. 包包 (package) 是组织类的一种方式。使用包的主要目的是保证类的唯一性。1.1导入包中的类Java 中已经提供了很多现成的

2021-01-20 19:05:47 251

原创 Java 类和对象

Java 类和对象1.类自定义的一种类型,也可以当做一个模板类的定义访问修饰符:public private protected 默认属性/成员变量/字段:定义在类的内部,方法的外部 静态成员变量实例成员变量行为:方法: 静态成员方法实例成员方法2.对象 实体通过关键字new可以实例化一个对象一个类可以通过关键字new实例化多个对象访问实例数据成员可以通过对象的引用来访问...

2021-01-13 18:10:45 70

原创 初识Java

初识Java1.Java的特性:简单性面向对象分布式健壮性安全性体系系统中立Java编译器通过生成与特定计算机体系无关的字节码指令来实现这一特性可移植性解释性高性能多线程动态性2.初识Java的main方法:public class Test{ public static void main(String[] args){ System.out.println("Hello,Java"); System.out.println("My name is:"+a

2020-12-03 15:39:27 500 5

原创 实现一个可动态分配内存的通讯录,C语言

实现一个通讯录:通讯录可以用来存储个人的信息,每个人的信息包括:姓名、性别、年龄、电话、住址。提供方法:添加联系人信息,删除指定联系人信息,查找指定联系人信息,修改指定联系人信息,显示所有联系人信息,清空所有联系人,以名字排序所有联系人。我先定义了两个结构体来完成这个通讯录。typedef struct person{//联系人结构体,存储联系人信息 char name[SIZE/4]; char sex; int age; char tel[SIZE/4]; char add[SIZE]

2020-12-02 22:13:15 1034

原创 字符函数和字符串函数

字符函数和字符串函数 strlen(字符串长度函数)size_t strlen ( const char * str )字符串以’\0’作为结束标志,strlen函数返回的是在字符串’\0’前面出现的字符个数(不含’\0’)参数指向的字符串必须以’\0’结束函数返回值为size_t,是无符号的strlen函数的模拟实现//模拟实现strlen#include<stdio.h>#include<assert.h>#include<Windows.h>

2020-11-25 18:41:22 81

原创 指针的进阶

指针的进阶字符指针字符指针 char*一般使用:char c='a';char *p=&ch;还有一种用法:char *str="hello!";//把字符串"hello!"的首地址放到了str中printf("%s",str);例如:#include <stdio.h>int main(){ char str1[] = "hello."; char str2[] = "hello."; char *str3 = "hello.";

2020-11-17 21:01:12 117

原创 qsort函数及其模拟实现

qsort函数:无类型排序函数void qsort (void* base, size_t num, size_t size,int (compar)(const void,const void*));传入参数数组首地址,数组字符个数,数组类型大小,自己写的比较函数地址模拟实现qsort函数:#include <stdio.h>#include <stdlib.h>#include <assert.h>#include <windows.h>i

2020-11-17 17:04:26 99

原创 简易计算器的实现switch,转移表

简易计算器的实现思路:解法一:利用switch语句调用函数实现简易的±*/运算解法二:利用转移表下表来选择调用函数转移表实际是函数指针数组,数组的元素是函数指针,定义:int(*p[5])(int )#include<stdio.h>#include<windows.h>void Menu(){ printf("*****************\n"); printf("**1 add 2 sub**\n"); printf("**3 mul 4

2020-11-16 23:06:35 216

原创 倒置字符串 将一句话的单词进行倒置,标点不倒置。

倒置字符串 将一句话的单词进行倒置,标点不倒置。比如 I like beijing. 经过函数后变为:beijing. like I解题思路:先将字符串整体逆置,然后再逆置以空格分隔的单词,这样就可以达到我们想要的效果。例如:输入:I like beijing.输出:beijing. like I// 倒置字符串 将一句话的单词进行倒置,标点不倒置。#include <stdio.h>#include <stdlib.h>#include <string.h&

2020-11-14 10:12:30 2072

原创 简易扫雷游戏代码

扫雷游戏代码分为三大模块,头文件,主函数,game函数。主函数是选择玩游戏或是退出,game函数就是实现玩游戏过程。//头文件#ifndef _GAME_H_#define _GAME_H_#include<stdio.h>#include<windows.h>#include<time.h>#define ROW 12#define COL 12#define NUM 20void menu();void game();#endif//g

2020-11-07 17:38:25 1254

原创 简易三子棋游戏代码

代码如下:#include<stdio.h>#include<string.h>#include<time.h>#include<Windows.h>#pragma warning(disable:4996)#define P_COLOR 'X'#define C_COLOR 'O'#define ROW 3#define COL 3#define NEXT 'N'#define DRAW 'D'void Menu()//菜单

2020-11-03 00:19:01 164

原创 写代码将三个数按次序输出

1.思路先两两比较确定最大值,再确定次大值和最小值。例如,比较将a,b,c按次序输出,先比较a和b的大小,用a和b两个中的较大值与c作比较,得出的较大值就是三个数中的最大值,用a和b的较小值与c作比较,得出的较大值为三个数中的次大值,得出的较小值为三个数中的最小值。2.关键点在得出两个数的最大值和最小值时需借助一个中间量充当缓冲区,暂时保管数据。例如,比较a和b的大小时,若a<b,须得借助中间量temp,先将a的值赋值给temp,再将b值赋值给a,然后把temp中的数据赋值给b,如此一来成功的调

2020-10-17 17:57:55 321

空空如也

空空如也

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

TA关注的人

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