自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(69)
  • 资源 (1)
  • 收藏
  • 关注

原创 java内存详解

1、java内存主要分为五块- 方法区- 堆- 虚拟机栈- 本地方法栈- 程序计数器2、 方法区也被称为永久代/非堆,主要保存虚拟机加载的类信息,常量,一些静态变量,是各个线程共享的内存区域,默认最小值为16M,最大值为64M,可通过-XX:Permsize和-XX:MaxPermSize参数限制方法区的大小3、堆也叫做Java堆、GC堆,是Java虚拟机管理的内存中最大的部分,也是被各个

2017-11-20 16:20:40 468

原创 JAVA String的不可变设计(结合源码)

1、首先大家可能都知道String是不可变的,那么String为什么不可变呢,我们先看看源码public final class String implements java.io.Serializable, Comparable<String>, CharSequence { private final char value[]; private int hash; //

2017-11-16 09:59:16 371

原创 bootstrap-table简单应用

<%@ page contentType="text/html;charset=UTF-8" language="java" %><%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %><c:set var="ctx" value="${pageContext.request.contextPath}"/><html><

2017-09-15 13:49:31 1144

原创 Spring学习笔记(12.基于java的容器注解)

@Bean表示一个用于配置和初始化一个由SpringIoc容器管理的新对象的方法,类似于XML配置文件的<bean/>可以在Spring的@Component注解的类中使用@Bean注解任何方法(仅仅是可以)上一点中,通常使用的是@ConfigurationBean自定义Bean name@configurationpublic class AppConfig { @Bean(n

2016-12-06 15:50:03 480

原创 Spring学习笔记(11.Spring Bean装配注释)

@Qualifier按类型自动装配可能多个bean实例的情况,可以使用Spring的@Qualifier注解缩小范围(或指定唯一),也可以用于指定单独的构造器参数或方法参数可用于注释集合类型变量如果通过名字进行注解注入,抓药使用的不是@Autowired(即使在技术上能够通过@Qualifier指定bean的名字),替代方式是使用JSR-250@Resource注解,他是用过其独特的名称来定义

2016-12-06 15:30:12 430

原创 Spring学习笔记(11. Spring Bean装配之Autowired注解说明)

1. @Required@Required注解适用于bean属性的setter方法这个注解仅仅表示,受影响的bean属性必须在配置时被填充,通过在bean定义或通过自动装配一个明确的属性值 2. @Autowired可以将@Autowired注解为“传统”的setter方法 可用于构造器或成员变量 默认情况下,如果因找不到合适的bean将会导致autowiring失败抛出异常,可以通过下面的方

2016-12-06 15:07:37 576

原创 Spring学习笔记(10.Spring Bean装配之Bean的定义域及注解实现)

1. Bean管理的注解实现及例子ClassPath扫描与组件管理类的自动检测与注册Bean<context: annotation-config/>@Component, @Repository, @Service, @Controller@Required@AutoWired@[email protected] ClassPath扫描与组件管理从Spring3.0开始

2016-12-06 14:32:35 477

原创 Spring学习笔记(9.Spring Bean装配之Resource)

1. Resources 针对于资源文件的统一接口1.1 Resources分类UrlResource: URL对应的资源,根据一个URL地址即可构建ClassPathResource: 获取类路径下的资源文件FileSystemResource: 获取文件系统里面的资源ServletContextResource: ServletContext封装的资源,用于访问ServletCon

2016-12-05 19:13:42 645

原创 Spring学习笔记(8.Spring Bean装配之自动装配)

1. Bean的自动装配(Autowiring)装配类型 * No:不做任何操作 * byname: 根据属性名自动装配。此选项将检查容器并根据名字查找与属性完全一致的bean,并将其与属性自动装配 * byType:如果容器中存在一个与制定属性类型相同的bean,那么将与该属性自动装配;如果存在多个该类型bean,那么抛出异常,并指出不能使用byType方式进行自动装配;如果没有找到相匹配的

2016-12-05 18:52:38 413

原创 Spring学习笔记(7.Spring Bean装配之Aware接口)

1. AwareSpring中提供了一些以Aware结尾的接口,实现了Aware接口的bean在被初始化之后,可以获取相应资源通过Aware接口,可以对Spring相应资源进行操作(一定要慎重)为对Spring进行简单的扩展提供了方便的入口2. 例子ApplicationContextAwarepublic class FinUpApplicationContext implements

2016-12-05 18:30:11 564

原创 Spring学习笔记(6.Spring Bean装配之Bean的生命周期)

1. 生命周期定义初始化使用销毁2. 初始化实现org.springframwork.beans.factory.InitializingBean接口,覆盖afterPropertiesSet`方法配置init-method 3. 销毁实现org.springframwork.beans.factory.DisposableBean接口,覆盖destroy方法配置destroy-m

2016-12-05 17:47:55 347

原创 Spring学习笔记(5.Spring Bean装配之Bean的配置项及作用域)

1. BeanBean配置项Bean的作用域Bean的生命周期Bean的自动装配Resources&ResourcesLoader1.1 Bean配置项id 在整个IOC容器中的唯一标识Class(必须) 具体要实例化的类3.Scope 范围,即作用域Constructor arguments 构造器参数Properties 一些属性Autowiring mode

2016-12-05 17:21:20 559

原创 Spring学习笔记(4.Spring注入)

1. Spring注入Spring注入是指再启动Spring容器加载bean配置的时候,完成对变量的赋值行为常用的两种注入方式 设值注入 构造注入

2016-12-05 16:55:52 409

原创 Spring学习笔记(3.IOC及Bean容器)

1. IOC1.1 接口用于沟通的中介物的抽象化实体把自己提供给外界的一种抽象化说明,用以由内部操作分离处外部沟通方法,使其能被修改内部而不影响外界其他实体与其交互的方式对应Java接口即声明,声明了那些方法是对外公开提供的在java8中,接口可以拥有方法体1.2 面向接口编程结构设计中,分清层次及调用关系,每层只向外(上层)提供一组功能接口,各层间仅依赖接口而非实现类接口实现的变动不

2016-12-05 11:51:51 455

原创 Spring学习笔记(2.Spring框架)

1. 什么是框架维基百科:软件框架,通常是指为了实现某个业界标准或完成特定基本任务的软件组件规范,也指为了实现某个软件组件规范时,提供规范所要求值基础功能的软件产品框架就是制定一套规范或者规则(思想),大家(程序员)在该规范或者规则(思想)下工作,或者说就是使用别人大好的舞台,你来做表演 1.1 框架的特点 半成品 封装了特定的处理流程和控制逻辑 成熟的、不断升级改进的软件

2016-12-05 10:52:33 408

原创 Spring 学习笔记(1.概况)

1. Spring是什么 Spring是一个开源框架,为了解决企业应用开发的复杂性而创建的,但现在已经不止应用于企业应用是一个轻量级的控制反转(Inversion of Control,英文缩写为IoC)和面向切面(Aspect Oriented Programming,英文缩写为AOP)的容器框架 从大小与开销两方面而言Spring都是轻量级的 通过控制反转(IOC)的技术达

2016-12-05 10:39:53 382

原创 Java线程同步、锁机制精解(5中同步方式)

为什么需要同步 java允许多线程并发控制,当多个线程同时操作一个可共享的资源变量时(如数据的增删改查),将会导致数据不准确,相互之间产生冲突,因此加入同步锁以避免在该线程没有完成操作之前,被其他线程的调用,从而保证了该变量的唯一性和准确性。同步方式synchronized同步方法synchronized同步代码块volatile特殊域变量ReenreantLock重入锁Thread

2016-11-17 20:48:18 1356

原创 Android app瘦身计划

上次在面试中被问到这个问题,只答了个使用webp格式图片,感觉有点尴尬,特地总结下有哪些减小app大小的办法使用一套资源 这是最基本的一条规则,但非常重要。 对于绝大对数APP来说,只需要取一套设计图就足够了。鉴于现在分辨率的趋势,建议取720p的资源,放到xhdpi目录。 相对于多套资源,只使用720P的一套资源,在视觉上差别不大,很多大公司的产品也是如此,但却能显著的减少

2016-11-04 10:03:21 564

原创 Linux学习笔记(三十一、用户和用户组)

基本概念用户:使用操作系统的人用户组:具有相同权限的一组用户配置文件/etc/group 存储当前用户组所有信息 Group : x : 123 : abc,def,xyz 组名 : 组密码占位符 : 组编号 : 组中用户名列表/etc/gshadow存储当前系统中用户组的密码信息 G

2016-11-03 14:06:12 428

原创 Linux学习笔记(三十、Swap分区)

如何为硬盘添加Swap分区建立一个普通linux分区,fdisk命令修改分区类型16进制编码格式化交换分区,mkswap /dev/swap启用交换分区,swapon /dev/swap,可以通过free查看swap加载状况,swapoff停用交换分区

2016-11-03 12:54:49 325

原创 Linux学习笔记(二十九、挂载分区)

使用挂载命令mount例:mount /dev/sdb1 /mnt/mydev * 分区默认挂在点是/mnt目录,挂载点必须存在 mount命令挂载不具有永久性,系统重启后就会失效 如果需要在重启后自动挂载,则需要编辑/etc/fstap文件,添加下面一行 使用卸载命令umount例:umount /mnt/mydev

2016-11-03 12:48:11 334

原创 Linux学习笔记(二十八、分区格式化)

mkfs命令例: 1. mkfs.ext3 /dev/sdb1这样就可以将/dev/sdb1文件系统格式化为ext3格式 2. mkfs -t ext4 /dev/sdb2效果和上条命令相同 MBR中扩展分区不可以格式化,只有主分区和逻辑分区可以格式化 GBT格式化后只有使用parted才能查看分区表

2016-11-03 12:39:47 301

原创 Linux学习笔记(二十七、磁盘分区)

分区模式之MBR主分区不超过4个单个分区容量最大2TB使用fdisk命令进行分区分区模式之GPT 主分区个数“几乎”没有限制(最多可支持128分区)单个分区容量“几乎”没有限制(每分区大小最多18EB) 1EB = 1024PB 1PB = 1024TB 1TB = 1024GB 使用parted命令进行分区 18RB = 18432PB = 1

2016-11-03 12:30:56 333

原创 Hive安装

Hive安装1. 安装模式嵌入模式本地模式远程模式1.1 嵌入模式Hive将元信息存储到自带的derby数据库中只允许创建一个连接(同一时间只允许一个人操作Hive中的数据,只用于演示时使用)多用于Demo1.2 本地模式元数据信息被存储在MySQL数据库中MySQL数据库与Hive运行在同一台物理机器上多用于开发和测试,可支持多个连接1.3 远程模式Hive元信息保存在M

2016-11-03 11:34:44 328

原创 Linux学习笔记(二十六、磁盘管理)

磁盘管理df查看磁盘分区使用状况 -l 仅显示本地磁盘(默认) -a 显示所有文件系统的磁盘使用情况,包含比如/proc/ -h 以1024禁止计算最合适的单位显示磁盘容量 -H 以1000禁止计算最合适的单位显示磁盘容量 -T 显示磁盘分区类型 -t 显示指定类型文件系统的磁盘分区 -x 不现实指定类型文件系统的磁盘分区 du统计磁盘上的文件大小

2016-11-03 11:33:21 301

原创 Hive简介

Hive什么是HiveHive是建立在Hadoop HDFS之上的数据仓库基础架构(开源)Hive可以用来进行数据提取转化加载(ETL)Hive定义了简单的类似SQL查询语言,成为HQL,它允许熟悉SQL的用户查询数据Hive允许熟悉MapReduce开发者的开发自定义的mapper和reducer来处理内建的mapper和reducer无法完成的复杂的分析工作Hive是SQL解释引擎,他

2016-11-02 17:40:06 899

原创 Mac环境下使用Charles自定义百度云分享提取码

Charles 是在 Mac 下常用的网络封包截取工具,在做 移动开发时,我们为了调试与服务器端的网络通讯协议,常常需要截取网络封包来分析。Charles 通过将自己设置成系统的网络访问代理服务器,使得所有的网络访问请求都通过它来完成,从而实现了网络封包的截取和分析。除了在做移动开发中调试端口外,Charles 也可以用于分析第三方应用的通讯协议。配合 Charles 的 SSL 功能,Charle

2016-10-22 08:18:03 3619

原创 Windows 10 Mobile(UWP)蓝牙开发

之前在做比赛时遇到了这个问题,官方文档上面的使用PeerFinder,然后用await streamSocket.ConnectAsync(info.HostName, “1”);连接,总是出现值不在范围内,最后终于被我找到了解决方案 我们可以用搜索所有设备过滤出蓝牙设备的方法:var devices = await Windows.Devices.Enumeration.DeviceInform

2016-10-20 09:30:38 5706 4

原创 Android消息机制(基于源码解析)

1. 消息机制概述 Android中的消息机制主要指的是Handler的运行机制,Handler的运行需要底层的MessageQueue和Looper、Message的支撑,下文会逐一分析。2. 为什么需要消息机制Android中的消息机制主要是为了满足线程间通信而设计的,最重要的应用场景应该在于更新UI Android规定访问UI只能在主线程中进行,如果在子线程中访问UI,那么程序就会抛

2016-10-19 09:44:56 3338 3

原创 Java字符与整形的转换问题

Java字符与整形的转换问题 博主在练习大数加法时,用到了字符数组相加的问题,自己研究了段时间总结下经验,希望能对大家有所帮助两字符直接相加结果为两字符的ascii码值相加例:int a = '0' + '1';输出结果为97。强制转换后也是ascii码相加例:int a = (int)'0' + (int)'1';输出结果仍为97。 0ascii码值为48,1ascii码值为49两字符

2016-09-30 14:33:46 2247

原创 Activity启动模式(基于应用场景分析)

可以根据实际的需求为Activity设置对应的启动模式,从而刻意避免创建大量重复的Activity等问题Activity有四种加载模式:Standard(默认)SingleTopSingleTaskSingleInstance设置的位置AndroidMainfest.xml文件中的activity元素的android:launchMode属性:<activity android:name

2016-08-19 12:59:54 655

原创 谈下使用Windows 10 Mobile系统这半年多的感受吧

前言终于结束了微软创新杯的比赛,结果就不提了,能进入总决赛然后去三亚旅游一圈,这已经很知足了(想想当初和队友还做着去西雅图的梦,欲哭无泪)。因为需要用到微软的技术,所以我们的开发平台选择了Windows10 Mobile这套系统,趁着双十二买下了部小米四(至于为什么用小米四,感觉学校最高的也能报销这个了吧–!),给刷成了Windows10 Mobile系统,接下来我来谈下使用这个系统的感受吧1、系统

2016-05-01 21:50:48 3605

原创 Linux学习笔记(二十五、VI编辑器的操作模式)

1、操作模式Command Mode - 命令模式Insert Mode - 输入模式Last Line Mode - 底行模式(尾行,末行)2、命令模式vim abc#打开名为abc的文件,并将光标定位到首行,如果无该文件则创建该文件vim + abc#打开名为abc的文件,并将光标定位到尾行vim +3 abc#~,将光标定位到第三行,如果该数字大于行数,则定位到末行vim +/xxx

2015-12-13 11:04:13 525

原创 Linux学习笔记(二十四、VI编辑器概述)

1、简介VI编辑器,英文原意Visaul Interface#可视化接口,类似Windows中的记事本VI -> VIMVIM是VI的升级版本2、VIM相对于VI做了哪些提升支持多级撤销可以跨平台运行支持语法高亮支持图形界面

2015-12-13 09:58:53 438

原创 Linux学习笔记(二十三、通配符)

1、通配符 通配符 作用 ? 匹配一个任意字符 * 匹配0个或任意多个任意字符,也就是可以匹配任何内容 [] 匹配中括号中任意一个字符。例如:[abc]代表一定匹配一个字符,或者是a,或者是b,或者是c [-] 匹配中括号中任意一个字符,代表一个范围。例如:[a-z]代表匹配一个小写字母 [^] 逻辑非,表示匹配不是中括号内的一个字符。例如:[^0-9]

2015-12-10 17:16:26 591

原创 Linux学习笔记(二十二、管道符)

1、多命令顺序执行 多命令执行符 格式 作用 ; 命令1; 命令2 多个命令顺序执行,命令之间没有任何逻辑联系 && 命令1&&命令2 逻辑与,当命令1正确执行则命令2才会执行,否则不会执行 || 命令1||命令2 逻辑或,当命令1执行不正确,则命令2才会执行,当命令1正确执行,则命令2不会执行例子:pwd;touch abc;ls;date2、管道符

2015-12-10 16:49:19 481

原创 Linux学习笔记(二十一、输出重定向)

1、标准输入输出 ## 设备 设备文件名 文件描述符 类型 键盘 /dev/stdin 0 标准输入 显示器 /dev/sdtout 1 标准输出 显示器 /dev/sdterr 2 标准错误输出2、输出重定向 类型 符号 作用 标准输出重定向 命令 > 文件 以覆盖的方式把命令的正确输出输出到指定的文件或设备当中

2015-12-09 17:05:37 518

原创 Linux学习笔记(二十、历史命令)

1、历史命令history [选项] [历史命令保存文件]选项:-c: 清空历史命令-w: 把缓存中的历史命令写入历史命令保存文件~/.bash_history历史命令默认会保存1000条,可以在环境变量配置文件/etc/profile中进行修改2、历史命令的调用使用上、下箭头调用以前的历史命令使用“!n”重复执行第n条历史命令使用“!!”重复执行上一条命令使用”!字串”重复执行最后一

2015-12-09 16:14:31 648

原创 Linux学习笔记(十九、别名与快捷键)

1、查看与设定别名alias #查看系统中所有的命令别名alias 别名 = '原命令'#设定命令别名2、别名永久生效与删除别名vi ~/.bashrc#写入环境变量配置文件unalias 别名#删除别名3、 命令生效顺序第一顺位执行用绝对路径或相对路径执行的命令第二顺位执行别名第三顺位执行Bash的内部命令第四顺位执行按照$PATH环境变量定义的目录查找顺序找到的第一个命令4、常

2015-12-09 12:33:19 435

原创 Linux学习笔记(十八、脚本执行方式)

1、脚本输出命令:echoecho [选项] [输出内容]选项:-e:支持反斜线控制的字符转换所识别的控制字符\a 输出警告音\b 退格键,也就是向左删除键\n 换行符\r 回车键\t 制表符,也就是Tab键\v 垂直制表符\Onnn 按照八进制ASCLL码表输出字符。其中0位数字零,nnn时三位八进制数\xhh 按照十六进制ASCLL码表输出字符。其中hh时两

2015-12-09 11:06:28 551

c++版贪吃蛇

简单的贪吃蛇游戏代码,依据链表做的,适合新手学习

2014-11-30

空空如也

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

TA关注的人

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