- 博客(11)
- 收藏
- 关注
原创 对比JDBC,用MyBatis的好处及常见问题
一、原生的JDBC 操作数据库过程:注册驱动、创建connection、创建statement、手动设置参数、结果集检索Connection connection = null; PreparedStatement preparedStatement = null; ResultSet resultSet = null; try { //加载数据库驱动 Cla...
2018-08-24 22:45:23
2998
原创 Java SE -类加载器
ClassLoader 的整套体系是打包在 jre/lib/rt.jar 中;rt.jar 先被加载进来,才能够加载别的类;但是 rt.jar 是被 BootstrapClassLoader加载;BootStrapClassLoader 并不是整个体系中的一部分(可以用 -Xbootclasspath 指定bootstrap 加载的位置);初始化Launcher、ExtClassL...
2018-08-06 01:28:57
211
原创 Java SE -类的加载过程
1、加载<1、获取.class文件的二进制流<2、将类信息、静态变量、字节码、常量这些.class文件中的内容放入方法区中<3、在内存中生成一个代表这个.class文件的java.lang.Class对象,作为方法区这个类的各种数据的访问入口。(1)预加载:虚拟机启动时加载,加载的是JAVA_HOME/lib/下的rt.jar下的.class文件,这个jar包里面...
2018-07-31 13:02:13
217
原创 Java SE -类的初始化顺序
类的初始化顺序为: 1:static成员变量默认初始化 2:静态块初始化 3:实例成员变量默认初始化 4:实例块初始化 5:构造函数分析在组合关下,不同情况的初始化顺序: <1> 在Person的构造函数中对Data进行初始化class Data{ private int year; priva...
2017-11-16 22:17:02
218
原创 java基础实践---非递归用栈实现查找迷宫路径
* 用非递归的栈来解决 * 用类来解决迷宫路径的查找问题,寻找一条从左上角迷宫入口 * 到右下角迷宫出口的一条有效路径,0代表可以行走,1代表不能行走, * 找到,请输入最终的迷宫和路径信息, 找不到,请输出不存在有效路径。 * * 软件
2017-10-29 18:22:59
898
1
原创 信号量函数 :semget semop semct 分析
1. semget函数 1>函数功能:得到一个信号量集标识符或创建一个信号量集对象; 2>函数原型:int semget(key_t key, int nsems, int semflg); 3>函数返回值:成功时:返回值为信号量集的标识符 失败时:返回值为-1 4>参数:(1)key:0(IPC_PRIVATE)建立新信号量集对象;
2017-10-08 15:03:22
801
原创 进程间通讯--管道
1.1 管道实现原理通过在内存上开辟一块全新的空间, A,B进程都通过文件描述符操作这块空间。 以完成数据交互的功能。1.2 有名管道(补充)1.2.1 特性: 有名字的管道, 可以再任意两个进程间传递数据。管道文件, 仅仅是目录树中的一个标示, 并不在磁盘上空间。1.2.2 创建: mkfifo 命令 mkfifo();函数1.2.3 使用: 1>打开:
2017-09-30 22:33:46
293
原创 线索二叉树
头文件(线索二叉树结构体以及相关函数声明部分)#ifndef TREAD#define THREADtypedef enum{link =0,thread =1} pointtag;typedef char elemtype;typedef struct bithrnode{ bithrnode *leftchild; bithrnode *rightchild; poi
2017-09-30 22:23:30
252
原创 二叉树的建立
一:利用字符"#"作为结点左右孩子不存在的标记,有以下俩种方法scanf逐个输入字符串的情况:BtNode * CreateTree1(){ BtNode *s = NULL; ElemType item; scanf("%c",&item); if(item != '#') { s = Buynode(); s->data = item; s->leftchi
2017-09-28 17:17:17
330
原创 二叉树的递归与非递归遍历
一、递归遍历: 前序遍历: 若二叉树为空,则空操作返回,否则先访问根结点,然后前序遍历左子树,再前序遍历右子树 ;void preorder(btnode *ptr){ if (ptr!=NULL) { printf("%d ",ptr->data); preorder(ptr->leftchild); preorder(ptr->rightchild);
2017-09-28 16:59:50
318
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人