- 博客(19)
- 收藏
- 关注
原创 Redis取数
普通获取redis数据,get key若redis存储数据为哈希结构,那么获取数据的命令为hget key hashkey获取存储redis的所有数据hgetall key更新、新增数据hset key删除数据:hdel key若执行后提示无法找到该命令,可以考虑是否为当前版本的redis不支持该命令,使用del key来删除key中的数据。...
2021-11-20 17:27:42 1893
原创 类加载器
ClassLoader 类加载器 1.认识ClassLoder 通过一个类的全名称来获取此类的二进制字节流,把实现这个操作的代码模块称之为类加载器。类加载器本质上也是一个程序,是一个软件。 就是把二进制文件加载到JVM的这么一个过程。 2.JDK内置的三大类加载器 1)Bootstarp(启动类加载器):...
2019-04-23 11:58:53 238
原创 反射
1.反射 1.1 什么是反射:反射是对象的反向处理,即根据对象倒推类的组成。 1.2 反射的核心处理在于处理object方法:通过调用getClass()获取类的class对象 1.3 class对象的三种实例化方式: 任何一个类的class对象由JVM加载后产生。在同一个类加载器中,class类实例化出来的对象有且仅有一个;用户只能调用指定方法来调取该对...
2019-04-14 16:56:17 351
原创 多线程的创建
多线程:多进程与多线程的本质区别是每个进程都拥有自己的一整套变量,而线程则共享数据.共享变量使得线程之间的通信更有效、更方便启动线程调用的是Thread的start方法,而不是run方法。start方法来自JVM_StartThread,其中的方法中有vmSymbolHandles调用run方法Runnable接口实现多线程: runnable接口中有run()抽象方法的声明;...
2019-04-14 16:50:37 116
原创 开发、测试模型(瀑布模型、螺旋模型、增量、迭代)
软件的生命周期可分为需求分析、计划、编码、测试、运行维护六个阶段。瀑布模型: start -> 需求分析 -> 计划 -> 设计 -> 编码 -> 测试 -> end 即为瀑布模型流程。瀑布模型是所有其他模型的基础框架,在软件工程中占有重要地位。瀑布模型的每个阶段都只执行一次,因此它是线性顺序进行的软件开发模式。瀑布模型强调了开...
2018-11-29 23:38:56 3028
原创 模板设计模式--模板方法
模板设计方法包含了实际的”模板方法“,模板方法定义了一个算法的步骤,并允许为子类为一个或者多个步骤提供具体实现。 模板方法模式在一个方法中定义了抑恶个算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以在不改变算法结构的基础上重新定义算法的某些步骤。模板设计模式中由超类主导一切,拥有算法并且保护算法,使得代码复用最大化。并且容易修改,弹性高,有子类实现其的完整性...
2018-11-20 23:21:25 326
原创 抽象类的定义和使用
抽象类与普通类的区别在于抽象类中包含了抽象方法。而抽象方法是指只声明而未实现的方法(抽象方法不包含方法体)。 所有的抽象方法、抽象类都要使用abstract关键字来定义。abstract class Person{ private String name; public String getName(){ return this....
2018-11-19 12:48:04 2119
原创 Java数组的练习
基于Java语言的案例,实现数组的反转、截取、拼接,求数组的最大、最小值,求数组元素之和。 public class ArrayUtils{ // //1.计算数组中最大值 public static int arrayMaxElement(int[] data){ int MaxElement = data[0]; ...
2018-11-13 22:50:22 484
原创 setenv、export函数设置环境变量
setenv函数 函数 setenv()用来改变或增加环境变量的内容。相关函数有 getenv,putenv,unsetenv。 表头文件为#include<stdlib.h> 定义函数 int setenv(const char *name,const char * value,int overwrite); 参数 value为变量内容,参数 ov...
2018-10-21 23:02:50 879
原创 Git与GitHub的认识
Git是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理,一个开放源码的版本控制软件。 与常用的版本控制工具 CVS, Subversion 等不同,Git采用了分布式版本库的方式,不必服务器端软件支持使源代码的发布和交流极其方便。 Git 的速度很快,这对于一些大项目来说自然很重要。 Git 最为出色的是它的合并跟踪(merge trac...
2018-10-09 19:38:53 292
原创 数组指针、指针数组、函数指针、指针函数
指针数组:指针数组是数组,是用来存放指针的数组;数组指针:数组指针是指针,指针指向的是数组;例:(1)int * p[10] 是数组;(2)int (* p)[10]则是一个指针;因为[ ]的优先级高于*,所以(2)的p是一个指针,指向数组,叫做数组指针。函数指针:函数名称表示函数的入口地址。而函数名称就是一个指针,可以把函数名赋给一个函数指针,通过函数指针进行函数调用。同时函数名和对函数名取地址...
2018-05-07 18:39:43 208
原创 小游戏--三子棋
game.h#ifndef __GAME_H__#define __GAME_H__#include<stdio.h>#include<windows.h>#include<time.h>#include<stdlib.h>#define ROW 3#define COL 3void InitBoard(char board[ROW][COL],in...
2018-05-07 18:16:57 129
原创 小游戏--扫雷
Game.h#ifndef __GAME_H__#define __GAME_H__#include<stdio.h>#include<stdlib.h>#include<time.h>enum OPTION//使可读性增强{ EXIT, PLAY};#define ROWS 11#define COLS 11#define ROW 9#define COL 9...
2018-05-07 18:05:50 216
原创 数组问题
数组的总结一、二维数组的比较 创建并初始化 访问 内存中的存储 一维数组 类型+数组名+操作符 例:int arr[3]={1,2,3} [ ]中必须为常量 初始化可为数字、字母、字符串 下标访问 下标从0开始 元素在内存中连续存放 二维数组 例: arr[3][2]={{2,3},{0},{1,5}} 行可省略,列不可省略 下标访问 元素在内存中连续存放 一维数组...
2018-03-30 21:39:59 469
原创 操作符的总结
1.算术操作符 {+、—、*、/、%} “/”操作符的操作数只要存在浮点数,执行的就是浮点数除法。“%”的操作数必须为整数。2.移位操作符 (1)左移:<< “<<3”表示二进制位向左移动3位,右边补0;移动一位有乘2的效果。 (2)右移:>> a.算数后移:二进制位向右移动,后边丢弃、左边补1...
2018-03-30 00:38:37 162
原创 路之始
嗨!欢迎来到我学习de小世界。我现在是一名专业数学与应用数学专业的在校生。每个事物性格不同,而我,兴趣广泛、积极向上、广交好友、勤奋认真、严谨细心。初学编程源于c语言基础课的学习,自此也开始了我的编程之路。我是一个理工女,一个想做程序员的理工女。每天除了学习学校里的相关专业知识外,至少会给自己留出3小时学习编程相关的知识。除看编程语言相关的书籍和视频外,也会浏览一些与IT相关微信公...
2018-03-29 00:22:31 200
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人