- 博客(291)
- 资源 (11)
- 收藏
- 关注
原创 Spring BeanDefinition接口的实现类及属性
BeanDefinition的作用:把xml中配置的bean或注解对应的Bean信息封装到BeanDefinition中并且BeanDefinition注册到BeanDefinitionRegistry这样spring容器才可以获取到需要实例化的BeanBeanDefinition接口实现类图:如下:BeanDefinition接口的类图GenericBeanDefinition类的属性:总结:GenericBeanDefinition常用属性说明1、id: bean唯一标识名,对
2020-12-21 13:17:54
439
原创 JVM学习笔记 - 判断对象是否存活GC Roots
文章目录一、判断对象是否存活?二、 GC Roots可达性分析图一、判断对象是否存活?这个算法的基本思路就是:通过一系列的称为“GC Roots”的对象作为起始点从这些节点开始向下搜索,搜索所走过的路径称为引用链当一个对象到 GC Roots 没有任何引用链相连时,则证明此对象是不可用的。作为 GC Roots 的对象包括下面几种:虚拟机栈(栈帧中的本地变量表)中引用的对象;各个线程调用方法堆栈中使用到的参数、局部变量、临时变量等。方法区中类静态属性引用的对象;jav..
2020-12-17 16:35:52
348
1
原创 JVM学习笔记 - JVM堆空间的划分
文章目录前言一、JVM堆空间的划分图前言JVM的垃圾回收主要是发生在堆空间。一、JVM堆空间的划分图示例:JVM堆空间被划分为年轻代和老年代如图:而年轻代又被划分为3部分
2020-12-17 15:43:24
768
原创 JVM学习笔记-虚拟机机栈
什么是虚拟机栈:存储当前线程运行java方法所需的数据、指令、返回地址虚拟机栈与java的方法运行息息相关虚拟机栈的结构:虚拟机栈是一种先进后出的数据结构虚拟机栈里面有什么:虚拟机栈里面有栈帧一个虚拟机栈里面可能有多个栈帧每一个栈帧对应一个方法,1、方法的执行对应栈帧入栈2、方法的调用完成或者返回对应栈帧出栈学习产出:栈帧与方法调用图...
2020-12-12 15:13:55
286
原创 JVM学习笔记- 运行时数据区内存划分
简单了解下一个HelloWorld.class字节码进入内存的流程图要了解JVM内存管理,首先得知道JVM内存区域划分,JVM对由类加载进入内存的字节码交由运行时数据区去管理的。先看运行时数据区的划分JVM整个运行时数据区域是分为虚拟机栈,程序计数器,本地方法栈,堆和方法区这个几块,上图是按照线程私有和线程共享进行了划分线程私有线程共享虚拟机栈 、 程序计数器、本地方法栈堆、 方法区...
2020-12-12 14:04:36
253
原创 Spring源码阅读-解析自定义标签到BeanDefinition
spring.xml里面配置如下:<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns:aop="http://www.springframework.o
2020-12-11 16:03:23
144
原创 deepin系统下安装redis数据库
deepin系统安装redissudo apt-get install redis-server检查redis是否安装成功sudo apt-get install redis-server检查redis是否安装成功
2019-11-10 13:03:27
339
转载 net.sf.JSONObject学习
package com.dean;public class Address { private String road; private String street; private String province; private String no; public String getRoad() { return road; }
2016-04-11 22:18:20
805
转载 Apache commons-io LineIterator学习
package com.dean.test;import java.io.File;import java.io.IOException;import org.apache.commons.io.FileUtils;import org.apache.commons.io.LineIterator;public class CommonsIOTest { public static void
2016-04-10 22:28:06
3802
转载 C++ primer plus Sales_item.h源码
Sales_item.h代码块#ifndef SALESITEM_H#define SALESITEM_H#include <iostream>#include <string>class Sales_item{public: Sales_item(const std::string &book):isbn(book),units_sold(0),revenue(0.0){}
2015-11-09 21:49:38
1843
转载 快速排序代码实现
快速排序代码实现快速排序代码:#include <stdio.h>void QuickSort(int * a, int low, int high);int FindPos(int * a, int low, int high);int main(void){ int a[6] = {2, 1, 0, 5, 4, 3}; int i; QuickSort(a, 0, 5
2015-08-23 20:17:44
677
转载 二叉树遍历的的例子
二叉树遍历代码二叉树三种遍历小例子:#include <stdio.h>#include <malloc.h>struct BTNode * CreateBTree(void);void PreTraverseBTree(struct BTNode * pT);void InTraverseBTree(struct BTNode * pT);void PostTraverseBTree(st
2015-08-23 11:39:21
2153
转载 linux sed替换命令s举例
linux sed命令不会真正修改原文本,除非重定向 linux sed替换命令ssed 's/test/mytest/g' example.txt表示将example.txt中的test文本全部替换为mytest 请注意这个命令sed 's/test/mytest/' example.txt 如果不带g则表示只会替换每行开头的test为mytest sed '^s\test\mytest\
2015-08-02 14:58:03
21853
3
转载 linux sed删除d命令使用举例
sed删除,并不会修改原文件中的内容,除非重定向新文件sed ‘2d’ example.txt表示删除example.txt中第二行的文本内容 sed ‘2,$d’ example.txt表示删除example.txt文件的第二行到末尾所有行。 $表示最后,末尾, sed ‘$d’ example.txt表示删除example.txt文件的最后一行。 sed '/test/'d example.
2015-08-02 14:29:54
12792
转载 python模块学习
模块是python组织代码的基本方式: python的脚本都是用扩展名为py的文本文件保存的。 一个脚本可以单独运行,也可以导入另一个脚本中运行。 当脚本被导入另一个脚本中运行时,我们将其称为模块。模块名与脚本文件名相同: 比如你有一个items.py脚本, 则可以在另外一个脚本中用import items语句导入它这是一段名字叫cal.py的python代码,它将被作
2015-07-31 08:08:56
812
转载 建造者设计模式举例
下面是一个建造者设计模式类图的例子 其中CarBuilder和CarModel是聚合的关系,(聚合关系常见的类似电脑和鼠标,电脑和键盘的关系),此处我们可以用CarModel随心所欲的组装我们需要的车
2015-07-29 06:28:33
1037
转载 已知中序遍历序列和后序遍历序列,求先序遍历
通过中序遍历和后序遍历求先序中序:BDCEAFHG后序:DECBHGFA求先序遍历结果:先求原始二叉树 后序遍历中最后出现的是根,所以A是整棵树的根,在结合中序遍历来看 BDCE是A的左子树,而FHG是A的右子树,所以我们就有了下面的图: 而BDCE序列中谁是整个序列根,还得看后序谁最后出现,答案是B 此时再看中序中根B左端没有左子树,右端有DCE,所以DCE是B的右子树 我们
2015-07-26 10:22:41
11830
4
转载 借助UML类图理解设计模式
最近发现设计模式的代码,边看边画类图,更容易理解: 下面是我参照设计模式之禅这本书,使用umLet工具画的类图 此处的抽象工厂就是HumanFactory注明是个接口,但在实际应用中 也可以定义成一个抽象类, 简单的说这里我们是用工厂类来造人, 所以工厂类和人类之间存在依赖关系, 这一点也可以通过图中的HumanFactory和Human之间的依赖关系表明,此处抽象工厂就是Human
2015-07-25 17:43:57
2038
转载 python实现类似switch功能
下面是python实现了类似其他语言switch功能代码#!/usr/bin/python#coding:utf-8from __future__ import divisiondef jia(x,y): return x+ydef jian(x,y): return x-ydef cheng(x,y): return x*ydef chu(x,y): return
2015-07-25 16:06:15
2605
转载 已知两种遍历序列求原始二叉树
已知两种遍历序列求原始二叉树需要明确的前提条件通过先序和中序可以求出原始二叉树通过中序和后序可以求出原始二叉树但是通过先序和后序无法还原出二叉树换种说法:只有通过先序中序或者后序中序才可以确定一个二叉树先来看一个例子,已知先序遍历序列和中序遍历序列求后序遍历: 先序:ABCDEFGH 中序:BDCEAFHG 求后序: 分析:要求后序遍历序列,必须求出原始二叉树 先看先序序列A第
2015-07-25 09:18:38
10631
转载 画流程图
下面是用Diagram Designer画的从1加到100的流程图对照流程图写下代码://开始定义两个变量int i = 1, sum = 0;//i的值1一直小于等于100成立的话while(i{ sum= sum + i; i = i + 1;}printf("sum = %d", sum);
2015-07-24 19:53:53
1086
转载 shell序列和nohup &
注意$(seq 0 10)也可以写成`seq 0 10`还有一个nohup 要执行的具体命令 &这个命令可以帮我们解决linux下某些例如java -jar 命令或者./二进制c++文件因为关闭窗口,而进程结束的情况
2015-07-23 22:47:43
819
转载 强大的lambda和reduce
python中有个lamba可以将函数的定义调整为行级定义,简化脚本执行reduce会对序列l中的元素每两个逐次叠加,作用f函数的运算求阶乘也可以一行搞定
2015-07-23 08:23:57
962
转载 uml类图中类的可见性
我发现自己越来越喜欢umlet这个软件了,双击SimpleClass, 在Properties视图中可以修改类名--在图中可以形成分隔属性,方法的横线,在--下面面可以填入属性,方法如图+表示公有的, -表示私有的看到了吗,上图中出现了一个#表示这个updateMileageCount()方法是受保护的
2015-07-22 08:11:49
12897
转载 使用staruml画类的泛化(继承)关系图
打开staruml选中右侧Unlitled中的DesignModel在找到StarUML横向上方的model点击Add Diagram-> Class Diagram在出现了ClassDiagram1(相当于一个画布一样),在选中ClassDiagram1继续添加类,添加类x先要选中左侧的的工具栏中的class,在ClassDiagram1上点击就有了一个类图,修改或着
2015-07-18 19:02:46
27770
转载 C语言动态分配内存知识
数组的长度必须事先指定,只能是常整数,不能是变量 传统形式定义的数组,该数组的内存程序员无法手动释放,只能在定义>该数组的函数使用完毕后,释放数组占用的内存。 数组的长度一旦定义,其长度就不能更改。 传统形式定义的数组不能跨函数使用。 动态内存分配可以很好的解决传统数组的缺点。 传统数组也被称之为静态数组。 malloc函数介绍: malloc是memory
2015-07-12 10:23:39
825
转载 python while循环控制
python while循环控制while循环控制代码#!/usr/bin/python# -*-coding:utf8-*-#while True:# print "hello"# x = raw_input("please input something, q for quit:")# if x == "q":# breakx = ""while x !=
2015-07-12 10:03:20
995
转载 序列和字典遍历
序列和字典的迭代遍历python代码如下#!/usr/bin/python# -*-coding:utf-8-*-#除字典以外,字符串,列表,元组都可以称为序列s = "hello"#l是列表l = [1, 2, 3, 'a', 'b']#t是元组t = (7, 8, 9, 'x', 'y')#d是字典d = {1:111, 2:222, 5:555, 3:333}#print '
2015-07-09 21:23:07
1942
转载 Markdown使用小结
突出显示标题可以用#号, 同样用等于号或者横线在文字下面也可以突出显示文字 在文字左右两侧各加两个星号同样可以起到加强,强调效果半方大的空白: &ensp后跟分号或 后跟分号 全方大的空白: &emsp后跟分号或 后跟分号 不断行的空白格:  后跟分号或 后跟分号\#号用来会显示成一个#号引用某些段落可以使用>xml标记左尖括号: <后面
2015-07-06 20:58:19
673
转载 python文件读写
python读文件1、读取整个文件# -*- coding: utf-8 -*-#python进行文件读写的函数是open或file#fo = open('d:/devSpace/code/python/test.txt')#print fo.read()#fo.close()f1 = file('d:/devSpace/code/python/test.txt')print f1.rea
2015-07-05 20:43:29
802
转载 补码相关知识学习
原码: 也叫符号-绝对值码 最高位0表示正,1表示负, 其余二进制是该数字的绝对值的二进制位 如十进制的负5二进制的原码为1101原码的特点: 原码简单易懂 加减运算复杂 存在加减乘除四种运算,增加了CPU的复杂度 零的表示不唯一(1000和0000都可以表示零)反码: 如同原码运算不方
2015-05-07 16:10:03
838
4
转载 C语言enum(枚举)数据类型
#include <stdio.h>//enum Weekday只是一个数据类型,//规定了该类型的变量值必须是哪些enum Weekday{ Monday, Tuesday, Wednesday, Thursday, Friday, Staturday, Sunday};void f(enum Weekday i){ //enum Weekday类
2015-05-07 09:59:48
2697
转载 利用结构体输入学生信息并按分数排序后输出
#include <stdio.h>#include <malloc.h>struct Student{ int age; float score; char name[100];};int main(void){ struct Student * pst; int i, j; int len; printf("请输入学生的个数len
2015-05-06 20:09:08
13126
1
notepad-插件(含终端插件)
2024-07-07
Git_for_Windows_1.9.5
2015-11-15
python MySQLdb 64位win7安装版本
2015-11-15
MinGw gcc编译器
2015-04-12
m2eclipse安装包
2015-01-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人