- 博客(48)
- 收藏
- 关注
原创 IO模型相关知识
对于同步通信来说,都是由调用者主动等待这个调用的结果,无论是“干等”,还是轮询式的等,还是信号通知式的等,还是一次等多个的形式,都是需要主动去等的,对于异步通信来说,这个调用就直接返回了,所以没有返回结果,不需要调用者主动的等待。两组概念相互组合就有四种情况,分别是同步阻塞,同步非阻塞,异步阻塞,异步非阻塞。,信号驱动是不是有点异步的感觉?所有的套接字,默认都是阻塞方式,阻塞式是最常见的IO模型,同步就是调用者进行调用后,在没有得到结果之前,该调用一直不会返回,但是一旦调用返回,就得到了返回值,
2023-04-08 21:40:49
396
原创 Java IO相关
深拷贝:被复制对象的所有变量都含有与原来的对象相同的值.而那些引用其他对象的变量将指向被复制过的新对象.而不再是原有的那些被引用的对象.换言之.深拷贝把要复制的对象所引用的对象都复制了一遍。浅拷贝:被复制对象的所有变量都含有与原来的对象相同的值,而所有的对其他对象的引用仍然指向原来的对象.换言之,浅拷贝仅仅复制所考虑的对象,而不复制它所引用的对象。InputStream/Reader: 所有的输入流的基类,前者是字节输入流,后者是字符输入流。按照流的流向分,可以分为输入流和输出流;
2023-04-08 21:30:38
577
原创 Java并发一些基本理论(一)
1、并发编程的挑战1.1、上线文切换 我们都知道,计算机为了满足多任务并行处理,CPU会给每个线程分配CPU时间片。时间片是CPU分配给各个线程执行的时间,因为时间片非常短,所以CPU通过不停地切换线程执行,让我们感觉多个线程是同时执行的,时间片一般是几十毫秒(ms)。 因为CPU在不停地切换执行的线程,所以执行线程所需要的资源也会随着被切换(执行代码、保存变量、程序计数器、方法栈等)。这些资源就被称为上下文。 因为多线程执行涉及到上下文切换,那...
2021-12-05 15:57:16
480
原创 Java线程并发
一、并发--线程同步synchronized 在一个多线程的情况下,保证数据的安全性和准确性,同时还要提高性能 线程不安全指的是:有负数或相同的数 并发的条件:存在共享资源、多人、同时操作 线程同步的实现机制:等待池队列+锁机制。 java锁机制:synchronizedsynchronized存在以下问题:1、一个线程持有锁会导致其他其他所有需要此锁的线程挂起2、在多线程竞争下,加锁、释放锁会导致比较多的上下文切...
2021-11-21 20:44:06
496
原创 Java线程基础
一、基本概念 1、三高:高可用、高性能、高并发、 2、多线程:同一时间执行多个任务 3、程序、进程、线程: (1)程序:静态的代码 (2)进程:CPU调度的代码(动态概念) (3)线程:一个进程中开辟多条路径 4、进程和线程的区别:(1)根本区别:进程:作为资源分配的单位;线程:CPU调度和执行的单位(2)开销:进程:每个进程都有独立的代码和数据空间(进程上下文),进程间的切换会有...
2021-11-21 17:24:13
1969
原创 Java集合
一、集合Collection接口继承Iterable接口,两个子接口为List和Set接口二、集合和数组的区别1、数组是Java语言内置的数据类型,他是一个线性的序列,而且在生命周期也是不能改变的,还有JAVA数组会做边界检查,如果发现有越界现象,会报RuntimeException异常错误,当然检查边界会以效率为代价。2、数组可以存储基本数据类型和引用数据类型,基本数据类型储存的是值;引用数据类型存储的是引用地址。3、集合只能存储引用数据类型,存储的是引用数据类型的地址值,如果集合要存
2021-11-21 15:08:49
443
原创 贪心策略:acm 会场安排
#include<stdio.h> struct Job{ int begin,end; int flag;}; int manage(int n,Job *b){ int count=n,room=0,roomNum=0; while(count>0){ for(int i=1;i<=n;i++){ if((b[i].begin>roo...
2019-02-16 14:59:21
214
原创 简单的计算器(利用栈)
#include<stdio.h>#include<string.h>char judge[7][7]={'>','>','<','<','<','>','>', //定义优先级 '>','>','<','<','<','>','&a
2019-02-16 14:54:57
412
原创 链表应用:多项式的加减法
输入两个多项式输出这两个多项式的和或者差#include<stdio.h>#include<malloc.h>#include<stdlib.h>struct DuoXiangShi{ int XiShu; int Mi; int length; struct DuoXiangShi * next;};struct DuoXiangSh...
2019-02-14 10:20:55
709
原创 两个升序链表的合并算法
数据结构线性表的运用把两个升序链表合并成一个且不借助第三个链表代码如下:#include<stdio.h>#include<malloc.h>struct Data{ int index; struct Data * next;};struct Data * create(){ //创建升序链表 printf("请输入一个升序列表以0结束\n"...
2019-02-14 10:18:43
943
原创 北大ACM1723士兵排队问题
Soldiers N soldiers of the land Gridland are randomly scattered around the country. A position in Gridland is given by a pair (x, y) of integer coordinates. Soldiers can move - in one move, one so...
2019-02-12 11:43:42
647
原创 java反射中的Field或Constructor对象的getModifiers方法返回值详解
java反射中的Field或Constructor对象的getModifiers方法返回值详解主要作用:以整数形式返回该方法或该成员变量的修饰符;其中不同的修饰符所对应的数值不同,修饰符的值与java.lang.reflect.Modifier类中的静态方法和常量的编码有关。下面是几种常用的修饰符的编码:这些编码全部为16进制的编码,所以对应的十进制的数字为:...
2019-02-11 16:00:24
1180
原创 ACM经典题型,雷达找小岛
题目:Radar Installation (pku 1328)DescriptionAssume the coasting is an infinite straight line. Land is in one side of coasting, sea in the other. Each small island is a point locating in the sea sid...
2018-09-16 15:32:12
887
原创 输入分子式,计算相对分子质量
#include<stdio.h>int t;int j=0;char *p;int function(char *string);int main(){ int a[t]; char string[t][100]; printf("请按格式输入\n"); scanf("%d",&t); for(int i=0;i<t;i++){ scanf...
2018-09-16 15:28:17
4879
原创 用C语言实现实数混合运算(带括号,不用栈)
之前在网上找了好多相似的文章,不过有的是功能不够,无法实现多级括号,有的是用到了栈,代码对于初学者来说不好理解。所以自己写了一个。不过不是完整代码,但是能够很好的解释这个逻辑#include<stdio.h>#include<string.h>char * symble(char *a);float mix(float *x,char *a);int div...
2018-09-16 15:23:54
4573
6
原创 第三方登陆-百度
百度第三方登陆第三方登录指的是当你需要登录某个网站时如果没有该网站的账号,可以通过其他的账号去登陆。例如:QQ账号,百度账号等等。该博客主要讲如何实现通过百度账号去登陆。第一步,创建百度开发者服务工程首先,登录百度开发者中心网站:https://developer.baidu.com,用百度...
2018-09-16 11:35:36
531
原创 java第二册—02集合与泛型
集合与泛型一、集合框架集合又称为容器,用于存储、提取、删除数据。JDK提供的集合API都包含在 java.util 包内。集合框架两大分支:Collection接口和Map接口。两张图搞懂各种集合之间的关系二、List接口概述:List接口继承Collection接...
2018-08-15 22:59:39
228
原创 java第二册—04IO流
IO流一、File类File类代表一个特定的文件或者目录,并提供了若干方法对该文件或目录进行操作。代码1:import java.io.File;public class Test { public static void main(String[] args...
2018-08-10 15:47:52
235
原创 05—JDBC(2)
JDBC5、事务需要执行SQL语句create table account( id char(36) primary key, card_id varchar2(20) unique, name varchar2(8) not null, money numbe...
2018-08-06 18:40:18
229
原创 05—JDBC(1)
JDBC数据准备:create table user_info( id char(36) primary key, user_name varchar2(8) unique, password varchar2(10) not null, mobile char(1...
2018-08-06 15:54:08
237
原创 04—查询数据
查询数据一、单表查询需要建立表:create table student( id char(36) primary key, name varchar2(8) not null, age number(3) default 0, mobile char(11), address va...
2018-08-06 15:12:46
552
原创 03—添加、修改和删除数据
添加、修改和删除数据数据库中对数据进行的添加、修改和删除操作均属于数据库操纵语言(DML),这类类型的SQL语句只有执行数据控制语言(DCL)中的commit才能使之起作用,DCL语言中的rollback用于撤销DML语言操作:一、添加数据数据添加的方式有两种:第一种:语法:ins...
2018-08-05 18:00:59
410
原创 02—操作数据库表
操作数据库表一、创建表: 语法:CREATE TABLE [schema.]table_name( column_name datatype [default default_value] [column_constaint], …… [table_constaint])a、t...
2018-08-05 17:42:41
323
原创 01—Oracle数据库实例(3)
Oracle数据库实例一、Database Configuration Assistant创建或删除数据库 创建: ①、运行Database Configuration Assistant,如下图:②、点击“下一步(N)》”按钮,如下图:③、选中“创建数...
2018-08-05 17:02:53
226
原创 01—服务器端配置、客户端配置(2)
服务器端配置实际开发中,由于一个项目由多个开发人员参与开发,这时就需要多人远程连接Oracle数据库实例,其连接步骤如下:第一步:配置服务器端Oracle数据库实例1、关闭Oracle数据库实例所在计算机防火墙,否则客户端远程连接该数据库实例时可能出现如下图所示的问题:2、“以管理员身份”运行Net Manager,如下图: 如果运行Net Manager时出...
2018-08-05 16:54:17
634
原创 01—oracle安装(1)
oracle安装安装Oracle10g的方法卸载Oracle10g(在安装下面)在Windows 7操作系统中安装Oracle10g的方法:在关闭防火墙和退出所有杀毒软件的前提下进行如下操作:解压压缩文件——将解压的文件拷贝到非安装盘中(既不要将它考到Oracle软件安装文件所在盘):...
2018-08-05 16:18:47
243
原创 java第二册—09枚举
枚举语法结构JDK1.5之后可以借助enum关键字定义枚举类型,语法结构如下: [public] enum 枚举名称 [implements 接口列表] { 枚举对象1[,枚举对象2] [,…]; [成员变量1;] [成员变量2;] […] [(静...
2018-08-05 11:22:03
213
原创 java第二册—07Java注解
Java注解一、注解概念JDK5及其以后JDK版本开始支持Java注解;Java注解(Annotation)也叫作元数据,以‘@注解名’在代码中存在,它是一种在源代码中标注的特殊标记,可以标注源代码中的类、属性、方法、参数等代码,主要用于创建文档,跟踪代码中的依赖性,甚至执行基本编译时检...
2018-08-05 11:14:00
223
原创 java第二册—05反射
反射一、反射概念Java反射(Reflection)是一种新的操作类中成员变量、构造方法和普通方法的机制,为了实现对成员变量、构造方法和普通方法的操作,我们需要借助Java自身提供的java.lang包下的Class类和java.lang.reflect包下的反射API 。...
2018-08-05 10:45:08
179
原创 java第二册—01异常处理
异常处理一、异常概述1、Java语言将程序运行过程中所发生的不正常严重错误称为异常,对异常的处理称为异常处理。2、它会中断正在运行的程序,正因为如此异常处理是程序设计中一个非常重要的方面,也是程序设计的一大难点。3、异常其实是人为定义的一个关于程序逻辑错误的处理机制,它的实现其实靠的是编译...
2018-08-05 10:13:59
256
原创 Java入门—第十节(内部类)
内部类一、内部类内部类是指在一个外部类内定义的类。按照是否有类名分为有名内部类和匿名内部类。 有名内部类:说明:全局有名内部类的使用方式类似于全局变量;局部有名内部类的使用方式类似局部变量——它们都有固定的使用范围; 匿名内部类:匿名内部类由于没有类名而不能单独存在,定义匿名内部类的同时须直接实例化该类,其语法格式如下: new 父类构造器([参数列表])|接口(){ ...
2018-05-28 09:11:29
256
原创 Java入门—第九节(接口和抽象类)
接口和抽象类一、抽象类 abstract可以修饰类和方法: abstract修饰的类称为做抽象类; abstract修饰的方法叫做抽象方法,抽象方法只有声明部分,而没有具体的方法体。 一个abstract类只关心它的子类是否具有某种功能,并不关心其自身功能的具体行为,功能的具体行为由子类负责实现。 抽象类不能被直接实例化,即不能...
2018-05-28 08:16:02
191
原创 Java入门—第八节(String字符串)
String字符串一、String类 String类是引用数据类型,该类实例化方式有两种: 直接赋值,其语法格式如下: 构造方法实现其实例化,其语法格式如下:String类实例化的两种方式是有区别的: 1、直接赋值,这种方式会出现常量池数据共享的现象:...
2018-05-21 08:10:09
207
原创 Java入门—第七节(包和访问权限)
包和访问权限一、包 1、什么是包? Java在编程的时候不可能将所有的文件放到一个大文件夹中,这样并程序基本没有可读性,更别说修改和维护。所以引入了包的概念,把一些功能形似的类放到一个包里这样就是一个大的项目更加条理。如图:这就是包。 2、包的命名规则 包命名规则: 包名全部由小写字母(多个单词也全部小写); 如果...
2018-05-16 23:28:50
334
原创 Java入门—第六节(继承和多态)
继承和多态一、继承 继承是面向对象编程的三大特征之一,是一种基于已有类来创建新类的机制。由继承而得到的类称为子类(或派生类),被继承的类称为父类(或超类)。 Java中每个类只允许有一个父类。语法如下:class <子类> extends <父类> Object类是所有类的直接父类或间接父类。、提高了代码的重用性,子类也可以添加新的成员变量和方法根据访问权限修饰...
2018-05-14 09:30:22
262
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人