- 博客(61)
- 资源 (4)
- 收藏
- 关注
原创 线程池原理你知道多少?
程序员成长路上有着不同的阶段,只要你翻过了当时那个阶段,那么你将会有了不一样的收获。很多时候,我们在刚开始面对它们的时候,还看不清,看不透,云里雾里,让人觉得它们很高深。等我们正在的了解它们了之后就觉一切都是那么简单、自然。再努力一下,一切将会不一样!—— 鲁迅前言多线程开发就是这样的一座山,需要我们去克服。说到多线程,大部分新手(作者自己),在面试中谈到多线程就慌了,因为自己在实际工作中真的很少碰到,而且我们多数时候都是在做传统的单体项目开发,说真的,很少会碰到用到多线程的,用都.
2020-05-16 14:03:50
429
1
原创 一分钟扫盲:Java虚拟机运行时数据区
Java虚拟机所管理的内存将会包括以下5个运行时数据区域: 方法区 堆 虚拟机栈 本地方法栈 程序计数器 线程私有:每个线程都会有自己独立的空间,随线程的生命周期而创建和销毁。线程共享:所有线程都能访问到的内存空间,随虚拟机或GC而创建和销毁。1. 程序计数器(Program Counter Register): 是什么:...
2020-04-06 22:41:28
208
原创 面试官:自己如何实现一个Java锁?
在Java中现有的锁有很多,比如:synchronize、ReentrantLock、ReadWriteLock、CountDownLatch、Semaphone等等。如果让我们自己实现一个锁得需要用到什么知识?实现起来难不难呢?今天就让我们一起来尝试下吧!Go~ 首先,我们先来思考下,锁的作用是什么?锁是解决什么问题?...
2020-04-06 22:35:26
1856
3
原创 关于 Gson 的序列化与反序列化分别进行重命名
很多情况下,Json的序列化与反序列化,需要分别对应不同的字段名称,比如说:序列化的时候要求:{user_name:"xxx"} 而反序列化的时候需要 {userName:"xxx"}那么Gson该如何实现? @SerializedName注解(只能放在属性级别,不能放到getter /setter)该注解有两个属性,一个value、一个alternate(备用的意思)。...
2018-08-13 19:08:28
8008
2
原创 Cordova添加android平台时选择安装版本
Cordova添加平台的时候都会有个默认值,一般都是选择最新的版本。我使用的Cordova版本是6.4.0,在进行添加android平台是它给我选了6.0.0版本,当我使用 cordova platform add android 的时候它是成功的帮我创建了android平台的相关代码,但是它报出了一个错误,告诉我说,需要jdk1.8或者更高版本~(我使用的是1.7jdk) 后来才发现是因为Co
2016-12-16 23:55:05
22680
原创 Error: Error setting TTL index on collection : sessions
Error: Error setting TTL index on collection : sessions一、步骤一:这个问题一般是直接升级 mongodb和connect-mongo的版本为最新就可以了。 (注:记得一定要删除掉node_module再重新安装,因为你在package.json中对引用的模块进行改变版本号,也不会更新的,需要删除掉后再重新下载安装,自己就是在这步坑了~~ -
2016-10-24 14:33:50
469
原创 angularjs 指令—— 绑定策略(@、=、&)
angularjs 指令—— 绑定策略(@、=、&) 引入主题背景:angular 的指令配置中的template可以直接使用硬编码写相应的代码,不过也可以根据变量,进行动态更新。那么需要用到那些变量,因用法的不同,所以需要设置合适的绑定策略。一、绑定策略以@ 绑定策略来讲: @ 绑定策略,它的作用就是能把指令配置的独立Scope下变量的值等于根据@绑定的指令属性的值。(指令属性的值可以使
2016-06-18 23:07:40
1583
原创 Angularjs 的 ngInfiniteScroll 的使用方法
Angularjs 的 ngInfiniteScroll 的使用方法一、介绍ngInfiniteScroll 是一个 AngularJS 的扩展指令,实现了网页的无限滚动的功能,也就是相当于页面滚动到最底部的时候自动加载更多内容。二、使用方法引入js库<script type='text/javascript' src='path/to/jquery.min.js'></script><scr
2016-06-18 23:04:04
3021
原创 tomcat 实现多域名指定同一项目
有时候我们需要将多个域名指向同一个项目,那么在tomcat服务器下该如何实现呢?之前查过有人说用多个进行配置来实现这个功能~过程如下: <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="qunasao_access_log
2016-02-17 21:44:59
9397
1
原创 mysql使用“.frm”文件恢复表结构
mysql创建每张表后都会在“mysql安装目录/data/数据库名/”目录下创建一个“表名.frm”文件。该.frm文件并不能直接打开,但是它可以帮助你恢复你的表结构~~具体操作如下:我现在准备恢复clientmanager数据库中的表结构,其中clientmanager数据库中包含了tb_client表。那么我先打开新安装的mysql,并创建一个同名的数据库clientmana
2016-02-12 18:35:43
7567
1
原创 Gesture控制图片缩放&Canvas: trying to use a recycled bitmap android.graphics.Bitmap异常
今天刚学了Gesture手势~就写了一个“根据手势来进行图片缩放”的例子来巩固知识。大致步骤:1. 创建 Activity并且实现OnGestureListener接口2. 定义手势检测器实例等。3. 实现Activity的onTouchEvent()方法,将触控事件交给手势检测器来处理4. 给Activity的ImageView组件设置一张图片5. 实现OnGes
2016-01-31 00:00:39
2525
原创 Fragment在低版本中的简单创建使用
本人菜鸟一枚,也就是对刚学的东西有点自己的理解和想法,所以在这里并不能保证我所理解的是正确的,还望各位看官、大牛帮忙指正~最近正在学习Android的Fragment,因为我的环境是低版本的,所以在这里要用到v4 support兼容包。在这里先说明一下,因为Fragment是3.0版本以后才有的,所以在3.0版本之前的低版本中要使用Fragment,就要引入v4 support兼容包。
2016-01-01 17:15:23
479
原创 关于ibatis insert返回值
ibatis在使用SqlMapClientTemplate的insert(String statementName, Object parameterObject)或insert(String statementName)的插入操作时,会返回一个Object对象,该Object其实就是我们插入时的主键值/*tc-global*//*tc-global*/SELECT s
2015-12-30 17:17:43
13004
2
原创 eclipse提示:This tag and its children can be replaced by one <TextView/> and a compound drawable
今天在学习android开发的时候,写了这样的一段代码:xml version="1.0" encoding="utf-8"?>LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layo
2015-12-28 17:40:36
2790
原创 JavaScript的运动框架学习总结
一、目录 1. 入门案例——实现匀速运动 2. 入门案例——实现缓冲运动 3. 实现任意值的运动框架v.1 4. 改进任意值的运动框架v.2 5. 改进任意值的运动框架v.3 6. 实现链式运动框架 7. 实现完美运动框架二、内容 1. 入门案例——实现匀速运动 ①. 要求:只要简单的实现传入的对象和运动的最终目标,便能操作该对象的le
2015-12-28 17:35:15
430
原创 Canvas设置width与height 的问题!
<!--/*阴影跟圆角*/.radiusAndShadow{ border: 1px solid #4E4E4E; -moz-border-radius: 5px; -khtml-border-radius: 5px; -webkit-border-radius: 5px; border-radius: 5px; /*border
2015-12-28 17:32:34
2804
原创 JavaScript 学习—— js获取行间样式和非行间样式
<!--/*阴影跟圆角*/.radiusAndShadow{ border: 1px solid #4E4E4E; -moz-border-radius: 5px; -khtml-border-radius: 5px; -webkit-border-radius: 5px; border-radius: 5px; /*border
2015-12-28 17:29:53
946
原创 Css 学习——left与offsetLeft的区别
<!--/*阴影跟圆角*/.radiusAndShadow{ border: 1px solid #4E4E4E; -moz-border-radius: 5px; -khtml-border-radius: 5px; -webkit-border-radius: 5px; border-radius: 5px; /*border
2015-12-28 17:27:15
819
原创 Java集合 Json集合之间的转换
<!--/*阴影跟圆角*/.radiusAndShadow{ border: 1px solid #4E4E4E; -moz-border-radius: 5px; -khtml-border-radius: 5px; -webkit-border-radius: 5px; border-radius: 5px; /*border
2015-12-28 17:21:54
666
原创 Java对象 json之间的转换(json-lib)
<!--/*阴影跟圆角*/.radiusAndShadow{ border: 1px solid #4E4E4E; -moz-border-radius: 5px; -khtml-border-radius: 5px; -webkit-border-radius: 5px; border-radius: 5px; border:
2015-12-28 17:18:23
378
原创 request.getRequestDispatcher()的两个方法forward()/include()!!!
RequestDispatcher rd = request.getRequestDispatcher("/MyServlet");请求转发: rd.forward( request , response );请求包含: rd.include( request , response );有时一个请求需要多个Servlet协作才能完成,所以需要在一个Servlet跳到另一个Servlet!>一个请求
2015-12-28 17:10:28
2009
原创 JComboBox添加item的赋值类型问题!不一致的话会导致不能更改jcombobox的选择值
在用swing做页面的时候,往往需要设置字体样式,那么,如何用一种方法设置字体之后,在后面的其他页面就不需要再次设置字体了呢?下面这个方法就可以解决了:JComboBox在对它进行添加子项的时候,特别要注意jcomboBox.addItem(Object object);括号里面的值!!如果给它赋了数值,那么以后就要用数值进行设置改变等操作。比如说: // 声明一个
2015-12-28 17:05:12
1050
原创 关于String的两种赋值方式
String的两种赋值是不同的,String str1=“hello”,指向堆内存中的"hello",而String str2=new String("hello"),因为new开辟的新的堆内存,所以二者地址不同,在用==时,显示的是false。例一: String str1=“Hello”; String str2=“Hello”;
2015-12-28 17:02:33
2393
原创 Java算法题:求素数
题目:判断101-200之间有多少个素数,并输出所有素数。思路:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。具体代码: 1 public Vector exp(int first, int end) { 2 Vector v = new Vector(); 3 boolean
2015-12-28 16:59:52
455
原创 Java算法题:兔子问题
题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第四个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?解题思路: 1 public int exp(int month){ 2 if(month == 1 || month == 2){ 3 return 1; 4
2015-12-28 16:57:15
462
原创 JDBC的复习
前言:因为经常使用框架,现在反而忘了怎么使用JDBC了,所以赶紧复习起来~~1. 快速简单的使用JDBC ( 以mysql为例 )①. 获取驱动:Class.forName("com.mysql.jdbc.Driver");②. 获取连接:java.sql.Connection con = DriverManager.getConnection("jdbc:mysql://local
2015-12-28 16:54:35
331
原创 JDBCUtils工具类
JdbcUtils.java 1 import java.sql.Connection; 2 import java.sql.SQLException; 3 4 import javax.sql.DataSource; 5 6 import com.mchange.v2.c3p0.ComboPooledDataSource; 7 /** 8 * 依赖:
2015-12-28 16:51:54
1051
原创 装饰者模式对HttpServletRequest进行增强
1 package cn.web.servlet; 2 3 import java.io.UnsupportedEncodingException; 4 5 import javax.servlet.http.HttpServletRequest; 6 import javax.servlet.http.HttpServletRequestWrapper; 7 /**
2015-12-28 16:48:30
857
原创 eclipse进行Debug的时候,发出“java breakpoint unable to install breakpoint”错误
错误情况图:问题的解决方法:直接点击忽略掉:Don't tell me again来自网上的答案~~I had the same error message in Eclipse 3.4.1, SUN JVM1.6.0_07 connected to Tomcat 6.0 (running in debug-mode on a different machine, Sun
2015-12-28 16:45:50
1233
原创 输入法不能使用ctrl+shift进行切换的问题
第一种情况就是,你的输入法只有一种(而且这种输入法并不是“中文(简体) 微软拼音输入法”)。如果是只有一种输入法的话,是无法进行切换的,如果你是想要把输入法切换到无输入法状态,那么你可以通过设置任务栏的语言设置那里(如图1)(图1)按右键进行设置,添加“中文(简体) 微软拼音输入法”。(其实我们平时切换到没有输入法状态是切换到了“中文(简体) 微软拼音输入法”这个输入法。) 第
2015-12-28 16:43:11
2390
原创 SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
最近在学习使用maven的时候,在pom.xml文件中导入了slf4j的引用,当时的pom.xml文件内容是如下:project> dependencies> dependency> groupId>org.slf4jgroupId> artifactId>slf4j-simpleartifactId
2015-12-28 16:40:31
361
原创 关于RBAC(Role-Base Access Control)的理解
基于角色的访问控制(Role-Base Access Control)有两种正在实践中使用的RBAC访问控制方式:隐式(模糊)的方式和显示(明确)的方式。今天依旧有大量的软件应用是使用隐式的访问控制方式。显示的访问控制方式更适合于当前的软件应用。隐式的访问控制隐式的访问控制就是并没有给角色添加具体权限操作,只是给访问的用户添加了一个标识,告诉系统我是隶属于这个角色的,只要系统允许这
2015-12-28 16:37:51
773
原创 SLF4J的使用
关于slf4j的理解:我觉得slf4j相当于把log4、jdk、simple等日志技术都封装好了,把它们实现的格式都统一了,只要按着slf4j的格式去写日志,具体的日志技术你可以自己选择,只要你导入相应的日志技术的jar包。比如说:我现在要对一个项目使用jdk日志。那么我就需要对那个项目导入两个jar包:slf4j-api-1.6.1.jarslf4j-jdk14-1.6.1.ja
2015-12-28 16:35:11
452
原创 转换流的使用(InputStreamReader,OutputStreamWriter)
我们如何设置字节输入流、字节输出流的编码和解码格式?在字节输入流(InputStream)、字节输出流(OutputStream)中,并没有提供设置编码和解码格式的方法。InputStream的API文档如下:因为字节输入输出流并没有提供相应的方法,让我们对编码和解码格式进行设置。那么我们就要使用转换流,来对字节流的编码进行设置。何为转换流?通过API可得知,转
2015-12-28 16:32:30
413
原创 论坛中不同类型的贴的排序问题(涉及数据库的:CASE... END)
在论坛中,会有不同类型的帖子,比如说:普通贴、精华帖、置顶帖;论坛的这些贴子会根据不同的类型进行排序,当然不仅仅只是看帖子类型,还有贴子的动态情况来进行排序。在这里演示一下简单的帖子排序,我们只关注帖子的最新动态时间和帖子类型进行排序。其中最新动态的时间是这样确定的:如果刚创建的新帖,那么该帖子的最新动态时间就为该帖子的创建时间;如果有最新的回复,那么最新的动态时间就为最新回复的时间;
2015-12-28 16:27:10
896
转载 由jtable浅谈vector<vector<Object>>的用法(转自a718515028的专栏)
以前只用过vector ,但是在做从数据库导出数据放到jtable中时,发现还有个vector>的用法。先说jtable和DefaultTableModeljtable本身是可以显示一张列表,但是不能按钮监听的增加正行数据。jtable中没有addRow(Object[] rowData) 或者addRow(Vector rowData) ,方法。但是jtable中有一个构造方法
2015-12-28 16:24:32
1246
转载 函数篇之2——匿名函数
1. 匿名函数实例:>>> function ( a ){ return a; } 匿名函数也就是说没有方法名。2. 匿名函数的主要用法:2.1 我们可以将匿名函数作为参数传递给其它函数,这样,接收方函数就能利用我们所传递的函数来完成某些事情。2.2 我们可以定义某个匿名函数来执行某些一次性任务。3. 接下来,我们来看具体的应用示例,通过其中的细节来进一步了解
2015-12-28 16:21:54
583
转载 函数篇之——函数也是数据
1. 对于JavaScript 来说,有一个概念十分重要——既函数是一种数据类型。也就是说,下面两种函数定义在本质上是相同的:① . function f () { return 1; }② . var f = function () { return 1; }其中,第二种定义方式通常被叫做函数标识记法(function literal notation)。如果我们对函数变量
2015-12-28 16:18:33
972
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人