自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Guijun6的博客

Guijun6的博客

  • 博客(66)
  • 收藏
  • 关注

原创 Java 反射与代理模式(静态代理模式/动态代理模式)

1.总结并归纳反射中四大核心类(Class、Constructor、Method、Field)的常用操作方法以及示例。 2.总结反射与单级VO操作,自己实现代码并更新博客。 3.总结ClassLoader类加载器的作用范围以及双亲委派模型。 4.要求掌握静态代理模式原理(包括反射工厂创建)、会写出JDK提供的动态代理,知道cglib与JDK提供的动态代理之间的区别。 5.编程题: ...

2018-05-19 11:29:25 1467

原创 Java 类加载器(ClassLoader)/双亲委派模型

ClassLoader类加载器Class类描述的是整个类的信息,在Class类中提供的forName()方法,这个方法根据ClassPath配置的路径进行类的 加载,如果说现在你的类的加载路径可能是网络、文件,这个时候就必须实现类加载器,也就是ClassLoader类的 主要作用。认识ClassLoader首先通过Class类观察如下方法://自定义类,这个类一定在CLASSP...

2018-05-18 20:59:58 2195

原创 Java 反射与单级VO操作

反射与单级VO操作 先看一个基本程序package www.bit.java.vo;class Emp{ private String ename ; private String job ; public String getEname() { return ename; } public void setEname(String ...

2018-05-18 19:50:17 1242

原创 Java反射/四大核心类/Class 、Constructor、Method、Field

反射反射指的是对象的反向处理操作,根据对象取得对象的来源信息,在反射的世界里面,看重的不再是一个对象,而是对象身后的组成(类、构造、普通、成员)。Class类是描述整个类的概念,也是整个反射的操作源头,在使用Class类的时候需要关注的依然是这个类的对象。 而这个类的对象的产生模式一共有三种:①、任何类的实例化对象可以通过Object类中的getClass()方法取得Class类对象...

2018-05-18 16:20:08 6089

原创 Java 生产者消费者模型/wait方法/notify方法

生产者消费者模型生产者消费者模式是通过一个容器来解决生产者和消费者的强耦合问题。生产者和消费者彼此之间不直接通讯,而通过阻塞队列来进行通讯,所以生产者生产完数据之后不用等待消费者处理,直接扔给阻塞队列,消费者不找生产者要数据,而是直接从阻塞队列里取,阻塞队列就相当于一个缓冲区,平衡了生产者和消费者的处理能力。这个阻塞队列就是用来给生产者和消费者解耦的。纵观大多数设计模式,都会找一个第三者出来...

2018-05-09 22:24:56 1009

原创 Java 多线程同步/synchronized关键字/对象锁/全局锁/lock方法

多线程同步的两大方式synchronized 与 lock先谈一下使用synchronized关键字方式处理同步问题1、使用同步代码块以卖票举例class MyThread implements Runnable { private int ticket = 1000 ; // 一共十张票 @Override public void run() { ...

2018-05-09 19:42:13 1891

原创 java线程的三种创建方式及对比/多线程的常用操作方法/线程的五种状态

进程与线程进程:操作系统中一个程序的执行周期称为一个进程线程:一个程序同时执行多个任务。通常,每一个任务就称为一个线程。与进程相比较,线程更”轻量级”,创建、撤销一个线程比启动一个新进程开销要小的多。没有进程就没有线程,进程一旦终止,其内的线程也将不复存在。多进程与多线程区别:本质区别在于,每个进程拥有自己的一整套变量,而线程则共享数据。共享变量使得线程之间的通信比进程之间通信更有效、...

2018-04-27 11:40:34 1170

原创 Java泛型/泛型方法/通配符/泛型接口/泛型泛型擦出

从JDK1.5以后引入了三大常用新特性:泛型、枚举(enum)、注解(Annotation)。其中JDK1.5中泛型是一件非常重要的实现技术,它可以帮助我们解决程序的参数转换问题。本文为大家详细介绍一下泛型。一、泛型问题的引出假设需要你定义一个描述坐标的程序类Point,需要提供两个属性x、y。对于这两个属性的内容可能有如下选择:1. x = 10、y = 20 ;2. x = 1...

2018-04-23 18:23:31 3816 2

原创 C++ 多态/多态对象模型 单继承 多继承 菱形继承

1:什么是多态?多态=动态多态+静态多态a.关于静态多态:函数重载b.关于动态多态:构成动态多态的两个必要条件:(1)子类对父类的虚函数重写(2)函数通过父类得到指针或引用进行传参 在基类的函数前加上virtual关键字,在派生类中重写该函数,运行时将会根据对象的实际类型来调用相应的函数。如果对象类型是派生类,就调用派生类的函数;如果对象类型是基类,就调用基类的函数。 举个例...

2018-04-22 13:00:27 571

原创 Centos 6.5下使用yum快速安装mysql数据库的基本步骤

在安装数据库之前,确保Centos网络链接和yum安装没有问题,然后第一步:yum安装mysql[root@localhost ~]# yum -y install mysql-server如果执行这一步后安装不成功有问题的,可能是因为版权问题yum没有mysql-server的包,依次执行以下命令添加一个repo源[root@localhost ~]# wget http://...

2018-04-19 13:26:15 279

原创 Java String/StringBuffer/StringBuilder类的详细介绍 类方法的举例应用

String类1、string类的两种实例化方式①直接赋值String str1 = "Hello Bit" ; // str是一个对象,那么"Hello Bit" 就应该保存在堆内存中String str2 = "hello Bit";String str3 = "hello Bit";System.out.println(str1 == str2);//true ...

2018-04-16 13:13:09 1120

原创 Java实现双向链表的实现 简单的工厂代理模式

设计思想:package ListTest;//定义链表接口 定义链表行为的地方interface Link { void add(Object obj); boolean remove(int index); boolean contains(Object obj); int indexOf(Object obj); boolean set(...

2018-04-16 10:38:02 963

原创 智能指针 auto_ptr/scoped_ptr/shared_ptr/weak_ptr

一:智能指针的发展历史1、为什么要引入智能指针?因为存在以下情景:#include<iostream>using namespace std;void F1(){ int* tmp = new int; return;//这句代码跳出本函数 delete tmp;//这里并没有得到释放}int main(){ F1();...

2018-04-16 09:37:54 295

原创 分析C++类型萃取问题

一、什么是类型萃取,它有什么作用 1. 类型萃取是实现不同类型数据面对同一函数实现不同的操作。 2. 增强代码的复用性和可维护性。 3. 它与类封装的区别是:并不用知道所调用的对象是什么类型,类型萃取是编译后知道类型,先实现;而类的封装则是先定义类型,后实现方法。 二、【POD类型萃取】 POD: plain old data 平凡类型(无关痛痒的类型)–基本...

2018-03-09 12:42:39 433 1

原创 C/C++动态内存管理

一、内存空间结构    栈区:自动存放变量。在执行函数时,编译器会将函数的参数,局部变量自动存放在栈内,函数调用结束时会自动回收空间,栈内存分配效率高但容量有限。栈是又高地址向低地址生长,向下生长的。    堆区:在运行时调用程序来分配内存(malloc/new),由程序员自己决定分配内存的大小,同时需要程序员自行释放分配的空间(free/delete)。    数据段:内存在程序启动的时候才被分...

2018-02-28 22:45:09 310

原创 Linux入门基本指令

基本命令用户层 Kernel :管理文件,设备,内存,进程 生成的a.out存在磁盘中 运行需要拎进内存里,操作系统管理物理内存,管理CPU,管理网络;管理进程,给用户提供友好操作(shell命令) 硬件常见简单命令uname -a 查看操作系统版本 setup 配置网络 vim /etc/ 查看配置信息 service network stop 断开...

2017-12-06 14:57:57 1286

原创 C/C++小项目之注释转换

描述:打开一个文档,将里面所有用C注释的改成C++注释。 思路:设置一个状态机,分为四种状态,每次从文件里读到一个字符之后判断是何种状态,在进行对应的处理就好了。 图示: CommentConvert.h# pragma once#include<iostream>using namespace std;void _StartConvert(FILE* fin...

2017-12-05 19:29:04 504

原创 C++模板不支持分离编译

分析为什么模板不支持分离编译?   在C++中,为了一个项目的规范,我们通常把代码归为三类:声明文件、实现文件、测试文件.  比如,我要用C++实现一个链表,那么就会创建这3个文件:    LinkList.h   //链表的相关声明 LinkList.cpp  //链表的实现代码 Test.cpp    //链表测试代码(本文忽略)  那么问题来了,普通链表这样写起来一点问题都...

2017-12-02 12:18:07 492

原创 C++构造函数传参与返回值时的优化

总结C++对传参和传返回值时构造的优化处理这里用具体例子说明,简单定义一个日期类:class Date{public: Date(int year = 0, int month = 0, int day = 0) :_year(year) , _month(month) , _day(day) { co...

2017-11-18 14:51:37 1197

原创 继承&&多态

继承【概念与理解】:继承是面向对象复用的重要手段。通过继承定义一个类,继承是类型之间的关系建模,共享公有的东西,实现各自本质不同的东西。 例:实现一个简单的继承关系 显然这里在子类继承父类时提到了继承关系,所以在这里将三种继承关系分析一下: 小小的总结一下:1. 基类的私有成员在派生类中是不能被访问的,如果一些基类成员不想被基类对象直接访问,但需要在派生类中能访问,就定义为...

2017-11-07 20:24:27 328

原创 C++基础知识/类/类大小/类的默认成员函数

类和对象 类的定义 看图总结:类中包含成员函数与成员变量两部分。可加上访问限定符对成员变量和成员函数进行访问权限的限制。#include<iostream>using namespace std;class Person{public://这里定义为公有的,是为了在类的外面直接访问,如果这里不写public,则编译器默认为私有的 void Di...

2017-10-05 16:58:10 436

原创 C++/C对比,C++关键字,const,引用,基本数据类型

C++98/03关键字 asm do if return typedef auto double inline short typeid bool dynamic_cast int signed typename break else long sizeof union case enum mutable static ...

2017-09-24 19:52:55 403

原创 指针与数组的基础知识分析

指针的小结 指针是存放地址才出现的,地址是为了表示一块儿空间的。 指针让地址有效地方存放,指针让内存的访问更加方便。 指针的大小在32位平台上是4个字节,在64位平台上是8个字节。int main(){ int a = 10;//在内存中开辟一块儿空间 int *p = &a;//在这里我们对变量a,取出它的地址,可以使用&操作符。 ...

2017-08-04 15:26:19 420

原创 剖析各类型和整数、浮点数在内存中的存储

**数据类型的介绍及有无符号型****内置类型**{整型unsigned/signed{ char ---1 short ---2 int ---4 long --4/8字节}{ float --4 double --8long long --8long double --8例:![这里写图片描述](http://img.blog.csdn.net/201707...

2017-07-25 23:20:33 504

原创 一,二维数组的相关问题

#define _CRT_SECURE_NO_WARNINGS 1//1.解析一维数组的创建和初始化 type_t arr_name [const_n]; //type_t是创建数组的类型,arr_name是数组名,[const_n]里是常量表达式,用来指定数组的大小; int arr[3] = { 1, 2, 3 };//创建一个大小为3个元素的整型数组; ch...

2017-07-19 18:45:16 1582

原创 乘法口诀表的灵活打印

//实现一个函数,打印乘法口诀表,口诀表的行数和列数自己指定,//输入9,输出9 * 9口诀表,输入12,输出12 * 12的乘法口诀表。

2017-07-18 17:58:53 470

空空如也

空空如也

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

TA关注的人

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