- 博客(30)
- 问答 (35)
- 收藏
- 关注
原创 Spring总结二-配置验证码
在许多网页中我们都可以看到验证码的存在,验证码就是用来进行人机识别的,防止脚本或爬虫无限制地请求网页导致资源浪费,本篇博客就是介绍如何在 Spring 和 Springboot 中配置验证码模块。本博客使用的验证码包 wiki 地址 https://code.google.com/archive/p/kaptcha/Maven 导包首先在 Maven 中导入使用验证码所需要使用到的...
2018-02-09 16:30:29
440
原创 Spring总结一-环境搭建
本文主要介绍一个 Spring 项目如何从零开始搭建使用 Maven 管理Spring 项目大都是用 Maven 进行导包的,一个 Spring 项目的 pom 文件依赖如下: <dependencies> <!--测试相关--> <dependency> <groupId&...
2018-02-09 16:30:02
256
原创 Java虚拟机总结下篇
本篇博客主要针对 Java 虚拟机的晚期编译优化,Java 内存模型与线程,线程安全与锁优化进行总结,其余部分总结请点击 Java 虚拟总结上篇 ,Java 虚拟机总结中篇。一. 晚期运行期优化即时编译器 JIT即时编译器 JIT 的作用就是热点代码转换为平台相关的机器码,并进行优化,它并不是一个虚拟机所必须的部分,只能说有它是锦上添花。热点代码热点代码分类...
2018-02-09 16:29:31
210
原创 Java虚拟机总结中篇
本篇博客主要针对 Java 虚拟机的类加载机制,虚拟机字节码执行引擎,早期编译优化进行总结,其余部分总结请点击 Java 虚拟总结上篇 。一. 虚拟机类加载机制概述虚拟机把描述类的数据从 Class 文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的 Java 类型,这就是虚拟机的类加载机制。类加载的时机类加载的时机不止一种:遇...
2018-02-09 16:28:51
198
原创 Java虚拟机总结上篇
Java 虚拟机一直是 Java 的重难点,一方面由于系统封装得太好,你平常写程序的时候几乎感觉不到它的存在,另一方面了解必要的 Java 虚拟机工作原理才能对真实工作环境下的 bug 进行对症下药,另外虚拟机这一部分也一直是面试考官爱问的问题。于是这篇博客就针对 Java 虚拟机的各个知识点进行归纳。一. Java 内存区域运行时数据区域程序计数器程序计数器是...
2018-02-09 16:27:20
235
原创 初探Android 6.0动态权限管理
我的APP简记在豌豆荚上线之后,我叫同学帮我下载测试一下,结果却惊奇的发现在我的小米2s测试机上跑得好好的,在他们同样是小米,同样是MIUI8的手机上却不能调出拍照,会直接退出程序,也就是传说中的闪退,于是我把手机连上Android Studio调试,结果出现了这样的Log:open failed: EACCES (Permission denied); 后来我想到小米2s和小米5虽
2016-11-01 09:37:53
624
原创 Android调用相机和相册获取图片并存入数据库(反思)
最近在做项目的时候有一个需求,是要从相机中或相册中获取图片,而且还要将其存入SQLite,最开始的时候我想的是直接将图片存入数据库,但是后来在Google上发现不行,sqlite不支持这种类型,但是我看到了它支持Blob这种类型,也就是二进制,这种类型可以储存图片和视频,既然最基本的储存解决了,那么就开始动手写代码了。直接用模板代码调用相机和相册调用相机和相册是有模板代码的,可以考虑以后把它写成一个
2016-10-27 19:53:33
7142
原创 创建复合控件
创建复合控件是自定义View的一项基本技能,这里要介绍的不是简单的将控件在xml文件中拖到一起,而是可以自定义属性的。这里就以自定义的一个TopBar来当作例子,这个topbar有左右两个按钮,以及中间有个标题。创建自定义属性既然说到了自定义属性,那么我们就要自己写一个文件来描述我们需要自定义的属性。在Values文件夹下创建attrs.xml文件,我们就将属性写在里面。<resources>
2016-10-13 19:48:30
343
原创 RecyclerView和CardView的结合使用
现在貌似还在使用ListView貌似就有点out了,最近在做项目的时候发现了还有RecyclerView和CardView结合使用的优雅做法,最后做出来效果: 添加依赖 compile 'com.android.support:cardview-v7:23.1.1' compile 'com.android.support:design:24.0.0'每一个Item项CardView的布局Rec
2016-09-30 21:09:59
838
原创 Git命令合集
git config –global user.name “yourname” ——–提交你的用户名git config –global user.email “youremailname” ———–提交你的邮箱地址git config user.name ———-查看你当前的用户名git config user.email ————查看你当前邮箱名pwd ——————查看当前路径名gi
2016-09-22 16:18:54
302
原创 80行代码搞定菜单展开动画
其实实现动画效果是非常简单的,下面就使用ObjectAnimator来实现一个点击按钮向下展开菜单项的动画。制作布局文件首先我们要把我们的图片素材全部放到到一个帧布局中,将菜单键放在最上面。<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width=
2016-09-17 16:55:31
593
原创 onCreateContextMenu创建上下文菜单
所谓的上下文菜单就是一个你长按一个view,就会弹出一个菜单栏的东西,这玩意儿的使用非常简单。我们用listview来演示。创建上下文菜单由于Listview的所有选项名称都是放在一个List中的,所以我们需要自定义一个List如ArrayList来存放我们所有的选项名。 private ArrayList<String>getDate() { ArrayList<Strin
2016-09-17 09:18:47
777
原创 AlertDialog的几种用法
AlertDialog就是在屏幕上出现一个对话框,并且要获取当前Activity的焦点,也就是说只能在对话框中进行操作。单调的确认对话框这是最简单的一种dialog形式,可以在对话框里加入图片,标题,呢容,以及两个按钮。dialog都是用AlertDialog.Builder builder = new AlertDialog.Builder(this); 来进行创建的,需要在builder中定义好
2016-09-14 15:45:08
6820
1
原创 Handle的两种作用解析
按照我现在的理解的话,Handle我认为它是Android系统的传送器,文档中是这么的定义的A Handler allows you to send and process Message and Runnable objects associated with a thread's MessageQueue. 他可以在子线程中携带信息跳转到UI线程进行UI刷新,也可以携带信息到任意一个实现了Run
2016-09-09 19:02:58
6788
原创 GestureDetector识别手势滑动
今天学习了使用GestureDetector进行手势识别,如果要进行手势识别,那么就必然要知道Android系统是如何识别动作的,见下图 : 我就在布局中放一个ImageView,就在这张图片上滑动。触发MotionEvent事件并监听MotionEvent事件是你手一放上屏幕就出发了的,由onTouchListener监听,由于我是在图片上进行滑动的所以这个监听器由imageview注册img.
2016-09-08 15:34:04
545
原创 Service的两种启动方法
Service是Android的四大组件之一,四大组件每一件都要在AndroidManifest中进行注册。, Service可以脱离于Activity运行,也就是说不受Activity的控制,也可以和Activity绑定在一起,与Activity共存亡。这就是Service的两种启动方法。下图是Service的生命周期。Start方法启动首先创建一个Service类,继承自Service,取名就叫
2016-09-07 20:51:47
689
原创 Android之自定义View
自定义view是Android的一个重要技能,能自己订制出各式各样的图案。起大致步骤就是下图(来自慕课网).第一步—–设计需要的属性所谓设计需要的属性就是指在layout文件里一个控件拥有的各种属性,在values文件里新建一个xml文件叫”atts“,加入declare-styleable 标签,name取自己定义的view的名字。完整代码如下<resources> <declare-st
2016-09-04 20:02:20
309
原创 Android数据储存之文件读写
Android的文件读写主要是通过操作输入输出流来完成的,例如这个例子,我要在EditText中输入一段字符,并在Textview显示出来。<EditText android:id="@+id/editText1" android:layout_width="wrap_content" android:layout_height="200dp"
2016-09-02 09:33:33
294
原创 SQLite数据库的使用之使用内置函数
光会使用SQL语句来操作数据库是完全不够的,虽然看起来非常的极客范,但是你想想,万一少打一个空格,那你的程序就直接GG了,所以接下来学习的使用SQLitedatabase类的内置函数就非常关键了。数据库创建的数据库的创建和之前还是一样的,这个没法用内置函数来创建。 SQLiteDatabase db = openOrCreateDatabase("stu.db", MODE_PRIVATE, nul
2016-08-31 16:23:09
1083
原创 SQLite数据库的使用之运用SQL语句
数据库对于仍和一个数据量较大的程序来讲都是非常重要。这是一个非常轻量级的数据库,对于每个程序来讲,都有一个私密的数据库,别的程序看不到,必需要用内容提供器才能给别的app使用,所以说是十分安全的,SQLite没有用户。今天学习了用execSQL来进行SQlite的插入查询。SQLite的创建SQLite的创建非常简单,使用一个SQLiteDatebase类即可 SQLiteDatabase db =
2016-08-30 21:10:21
492
原创 SharedPreferences的使用
SharedPreferences的使用简述SharedPreferencesSharedPreferences是一个及其方便的数据存储类,以键值对的形式存储在一个XML文件里,适合储存一些app的配置信息,相比SQLite的优点呢就是操作方便,你可以很容易的用SharedPreferences存储文件SharedPreferences对象创建方法创建SharedPreferences对象有两种方法
2016-08-30 15:23:25
381
原创 链栈实现括号匹配
链栈实现括号匹配 数据结构中有一种结构叫做栈,它是一种先入后出的结构,通过这个程序的编写,基本上颠覆了我对于指针的认识,我才发现我对于c语言的指针并没有深入理解,我仅仅是对于一级指针有所了解。指针的值和指针所指向的对象我还有点搞不清楚。 这个程序是括号的检验,因为之前写过顺序栈,这次想用链栈实现,使用尾插法,并让指针域指向上一个节点姐可以形成栈,通过这个程序我认识到了在
2016-04-01 19:18:16
6168
1
原创 对于二级指针的认识
对于二级指针的认识 今天在写链栈实现括号匹配的时候遇到了一个指针的问题。 我在main函数里定义了一个结构体指针,然后使用func(Node *p)这样的函数申明让它去指向另一个指针,然后程序就报错了。 我调试了一下午,都不知道到底错在哪,以前写链表的时候一直都是这样做的。然后我就把问题放在了csdn上让万能的网友来帮忙,于是就颠覆了我对指针的认识。我才发
2016-03-30 21:59:50
784
原创 初探双向链表
还是先来唠唠最近发生的事把。 ok,拿到奖学金,被选为优秀团员,我一点感觉都没有。最近让我比较激动的是我参加了学校的盛特杯,这件事本来我是不想参与的,我觉得我还太弱,没有能力去做一个项目。但是导师给我电邮让我参加,我想干脆就抱个大腿吧,让大腿教教我怎么做项目,于是就找了个大二的学长。额,目前这件事还没有任何进展,可能是大腿要考研比较忙吧。由于刘同到高中母校演讲,最近又有电影上映,于是我就
2016-03-27 16:25:53
653
原创 链表,折磨人的数据结构
链表,折磨人的数据结构 要有一周的时间没更博了,这段时间我暂停了计蒜课的刷题,是因为我把《征服c指针》看完了。当然这本肯定不会只读一遍,我感觉按我目前的知识水平,应该之吸收了20%不到。所以我准备在学一点数据结构再去看一遍。 学校开设的数据结构课开始疯狂的折磨人了。我每次翻开学校的教材,看着上面乱糟糟的排版,真的有一种想撕碎它的冲动。今天特别不在状态,在上完
2016-03-22 22:28:30
391
原创 计蒜课难题题库之奇怪的国家
这是很简单的一道题啊:有一个奇怪的国家,里面的国民对于事情的态度永远只有两面。当两个人遇到一起讨论一个事情的时候——两个持赞同观点的人遇到一起后会对这个事情都继续赞同;一个持赞同观点的人遇到一个持不赞同观点的人的时候,两人都会不再继续赞同;两个持不赞同观点的人遇到一起讨论后反而会对这个事情开始赞同。输入包括两行,每行包括N个数字(1≤N≤50),分别表示两个人对于N个事情对
2016-03-14 10:42:18
939
原创 计蒜课难题题库之泥塑课
最近看《征服c指针》感觉被虐了,到后面几章完全看不懂了,我也觉得最近光在看书,基本没写代码,这样下去是不行的。于是我决定把《征服c指针》丢一段时间,先多写写代码练练手。于是我就到计蒜课的难题题库找虐去了。好吧,题目要求是这样的:小米是一个幼儿园老师,每学期的泥塑课上,她都会给每个学生发不超过250立方厘米的等量橡皮泥,教大家做泥塑。在上课过程中,她发现每个班都恰好有一个小朋友会去抢另一
2016-03-13 17:13:31
804
原创 顺序表的创建插入与删除
顺序表的创建插入与删除坑爹的数据结构课,在加上坑爹的数据结构老师,将来的数据结构之路想必不会顺畅吧 。好吧,闲话不多说。这该死的数据结构课上都没怎么听,哎我以为我“苦学”一寒假的链表,最开始的数据结构应该无压力吧,tmd没想到第二周的作业就让我懵逼了。好吧一共三个题,第一个是处理矩阵,第二个是计算单词数,都是小菜一碟。但我看到第三题时:顺序表的创建,插入删除时,我傻眼了。嘛玩意儿!
2016-03-10 15:46:31
9126
原创 快速排序法的总结
快速排序法的总结 今天终于从《征服c指针》这本书看到了早有耳闻的快速排序法,以前学过选择排序,交换排序,冒泡排序,今天又多了一种排序算法。书中作者讲到测试对5万个随机整数进行排序,冒泡排序花了117秒,而快速排序仅仅用了65毫秒。哎,果真算法正重要啊!一开始看《征服c指针》的快速排序的交换法感觉没怎么看懂,于是上网找了篇好文“原文地址http://blog.youkuaiyun.com/mor
2016-03-07 21:59:11
422
空空如也
在eclipse刚刚新建了一个Android project,就报错,如图。
2016-07-02
安卓如何往system文件夹添加文件?
2016-07-01
在小米上开发安卓,发现adb shell下sqlite3命令not found
2016-06-30
为什么在ecplise ADT中的src文件里的java代码没有实例化就可以运行?
2016-05-26
fscanf() 在文件内按格式读取,为什么读出来的全是零?
2016-05-14
c语言 文件 remove()函数出现permission denied
2016-05-11
关于指针在函数声明的问题
2016-03-30
为什么这个链表输出有问题?
2016-03-19
关于sscanf的疑问,求解!
2016-03-12
为什么数组越界后仍然能够输出hello?
2016-03-05
在head first python第七章遇到问题
2016-02-29
python一个和类有关的问题?
2016-02-20
python的方法 是什么?与函数有什么区别?
2016-02-17
python中的pickle模块储存数据,和print储存有什么区别吗?
2016-02-16
python引用模块出现了问题
2016-02-15
安装自己写的模块到本地时,在cmd下出现错误,如图
2016-02-14
python如何引用自定义模块?
2016-02-13
为什么输出是这样,哪里错了,该怎么改呢?求大牛指教
2015-11-29
一个跟素数有关的问题
2015-11-14
这道c题能不能只用简单的循环和选择做出来?
2015-11-14
MySQL的MSI安装包一点开就弹出这个界面,怎么解决?
2017-09-24
Android使用HttpURLConnection简单的获取百度的首页源码失败?
2016-12-23
在我更新UI时报了这个错?是没有在主线程更新导致的吗?
2016-07-27
Eclipse报了一个没见过的错
2016-07-26
在启动一个Activity时报了一个没见过的错
2016-07-26
我调用了一个百度API,但发现程序直接跳过了API执行语句是怎么回事
2016-07-26
新人求助,这一段JSON如何用java解析?
2016-07-25
看一下这是报的什么错从来没见过
2016-07-18
这些报错是什么意思,新手完全看不懂
2016-07-17
getLastKnownLocation(provider);总是返回null该怎么办
2016-07-15
在android,internt.setDataAndType()是什么用?
2016-07-10
android从相册中获取照片出错。
2016-07-05
intent.setType 是什么用?MIME类型又是什么?
2016-07-05
setonclicklistener中的this不是应该表示MainActivity吗?
2016-07-03
安卓的内容提供器就是一个可以访问别的app的数据库的工具,可以这样理解吗?
2016-07-02
TA创建的收藏夹 TA关注的收藏夹
TA关注的人