- 博客(72)
- 资源 (6)
- 收藏
- 关注
原创 ThreadLocal 源码分析
Threadlocal 主要用于在多线程的情况下,每个线程可以保存一份本地的变量,该变量在线程之间相互独立,互不影响,并伴随着该线程的运行过程可以随时取出。应用场景:比如,在web系统中,每个用户进行访问都有各自的不同的用户信息,可以在访问接收的时候做一个拦截器,把用户的信息放入到threadlocal中,在该线程的整个流程中,可以取出当前用户的相关信息,并且和其他线程不相互影响。原理:每个线程都...
2018-04-11 17:12:30
197
原创 匿名内部类
public class Test { public Student student =new Student(); public static void main(String args[]) { } public Student file1(){ return new Student(){
2015-06-17 10:11:12
286
原创 java 数组
Arrays.fill(a [10],20);用20填满这个数组System.arraycopy() 复制一个数组到另一个,比for循环快Arrays.equals()比较两个数组是否一致,相同返回trueArrays.sort()排序 也可以实现comparable接口
2015-06-16 11:57:18
246
原创 hibernate 基本简单用法
首先是hibernate.cfg.xml配置,该文件放在src目录下 "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
2015-06-12 16:16:24
523
原创 spring mvc 视图重定向 拦截器 条件校验注解
//重定向,防止页面进行重复提交 @RequestMapping(value = "/start", method = RequestMethod.POST) public String startpost1() { return "redirect:name"; }拦截器 xmlns:context="http://www
2015-05-20 10:01:50
391
原创 spring mvc 基于注解的数据绑定
@Controller@RequestMapping("/test")public class HelloWorldController { @RequestMapping(value = "/{date}", method = RequestMethod.POST) // 如果没有指定路径,就需要找类级别的路径(使用类级别的路径) public void
2015-05-20 08:37:48
302
原创 spring mvc 基于注解的mvc的配置
自定义配置文件的位置 springDispatcherServlet org.springframework.web.servlet.DispatcherServlet contextConfigLocation classpath*:/META-INF/spring/*-web.xml
2015-05-19 19:36:53
237
原创 spring mvc 3 数据绑定器
对于一般的数据类型再用表单控制器的时候都可以自动绑定,但是对于时间的数据类型需要自己编写绑定器public class EmpController extends AbstractCommandController{ @Override protected ModelAndView handle(HttpServletRequest arg0,
2015-05-19 16:08:48
235
原创 pring mvc 参数化控制器
不需要创建control类,只需要配置一下直接跳转到jsp helloWorldController helloController
2015-05-19 14:41:52
303
原创 spring mvc 1
所有来自游览器的内容先到达dispatchservlet 然后分发给不同的controller,通过配置web.xml实现 springDispatcherServlet org.springframework.web.servlet.DispatcherServlet 1 //初始化时候自动加载
2015-05-19 08:46:50
205
转载 java abstract用法
Abstract(抽象)可以修饰类、方法 如果将一个类设置为abstract,则此类必须被继承使用。此类不可生成对象,必须被继承使用。 Abstract可以将子类的共性最大限度的抽取出来,放在父类中,以提高程序的简洁性。 Abstract虽然不能生成对象,但是可以声明,作为编译时类型,但不能作为运行时类型。 Final和abstract永远不会同时出现。 当abstract用于修
2015-05-05 09:10:01
1156
转载 java final和static说明
Java关键字final、static使用总结 一、final 根据程序上下文环境,Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类、非抽象类成员方法和变量。你可能出于两种理解而需要阻止改变:设计或效率。 final类不能被继承,没有子类,final类中的方法默认是final的。 final方法不能
2015-05-05 08:44:25
230
转载 Android 缓存原理(一)----ListView缓存机制
一,ListView&GridView缓存机制 ListView 是安卓常用组件之一,ListView的缓存机制也是面试官经常会问到问题。但是很多做安卓的对这个还是一知半解,今天就把这个问题在博客中好好总结,完全解决所有的疑惑。 刚接触Android 的时候总会遇到此程序未响应的问题,往下拉着拉着就OOM了。原因就是Adapter没有写正确。
2015-04-16 09:37:08
465
原创 android URL读取网络资源
Thread类中run()和start()方法的区别如下:run()方法:在本线程内调用该Runnable对象的run()方法,可以重复多次调用;start()方法:启动一个线程,调用该Runnable对象的run()方法,不能多次启动一个线程;public class MainActivity extends Activity { private ImageV
2015-04-15 16:04:33
419
原创 android 读写SD卡上的文件
首先增加权限 主要的activitypublic class MainActivity extends Activity { private EditText et1; private EditText et2; private Button bt1; private Button bt2; final String FILE_NAME = "cr
2015-04-14 18:07:35
328
原创 android openFileInput openFileOutput
openFileInput 打开应用程序的数据文件夹下的name文件对应的输入流openFileOutput打开应用程序的数据文件夹下的name文件对应的输出流下面是读写的例子public class MainActivity extends Activity { private EditText et1; private EditText et2; pr
2015-04-14 14:39:23
528
原创 android SharedPreferences的使用
public class MainActivity extends Activity { private EditText et; private Button bt; private TextView tv; SharedPreferences preferences; SharedPreferences.Editor editor; @Override pr
2015-04-14 08:48:06
420
原创 android AsyncTask异步任务
AsyncTaskParams:启动任务执行的输入参数类型Progress:后台任务完成的进度值类型Result:后台执行任务完成后返回结果的类型使用AsyncTask只要如下三步即可:doInBackground(Params。。。)重写该方法就是后台线程将要完成的任务,该方法可以调用publishProgress()方法更新任务的执行进度。onProgressU
2015-04-13 13:34:47
356
原创 android Handler Thread Looper 结合用法
在主UI线程中,系统已经初始化了一个Looper对象,因此程序直接创建Handler即可,然后公告handler来发送消息,处理消息。程序猿自己启动的子线程,程序猿必须自己创建一个Looper对象,并且启动它,创建looper对象调用他的prepare()方法即可。该方法保证每一个线程最多只有一个Lopper对象调用Looper的prepare()方法为当前线程创建Looper对象,创
2015-04-10 09:56:02
381
原创 android handler用法
handler类的主要作用有两个(1)在新启动的线程中发送消息(2)在主线程中获取、处理消息public class MainActivity extends Activity { private ImageView iv; int[] imageids = new int[] { R.drawable.fy_d_go, R.drawable.fy_d_kf,
2015-04-09 17:27:09
338
原创 android configuration介绍
Configuration类专门用于描述手机设备上的配置信息,这些配置信息既包括用户特定配置项,也包括系统的动态设备配置Configuration cfg = getResources().getConfiguration();如果程序需要监听系统设置的改变,可以从写activity的onConfigrationChanged方法,该方法是一个基于回调的事件处理方法,当系统设置发生更改
2015-04-09 16:18:42
415
原创 android actionbar的使用
actionbar位于传统的标题栏的位置,也就是现实的屏幕的顶部,actionbar可显示应用的图标和activity的标题。private ActionBar bar; private Button bt1; private Button bt2; @Override protected void onCreate(Bundle savedInstanceState)
2015-04-09 14:01:27
270
原创 android PopupMenu弹出式菜单的使用
PopupMenu代表弹出式菜单。他会指定组件上弹出PopupMenu,默认情况下PopupMenu会显示在该组件的下方或者上方,PopupMenu可以增加多个菜单项并且可以为菜单项添加子菜单、首先在res/menu下编写xml文件my_menu.xmlhttp://schemas.android.com/apk/res/android" > andr
2015-04-09 10:20:06
1010
原创 android用xml文件设置菜单
首先在res/mene文件夹下编写xml文件my_menuhttp://schemas.android.com/apk/res/android" > android:icon="@drawable/ic_launcher" android:title="字体">
2015-04-09 09:56:52
494
原创 android ContextMenu上下文菜单
本例子对textview添加了一个上下文菜单,长按textview会显示菜单public class MainActivity extends Activity { private TextView edit; final int MENU1 = 0x111; final int MENU2 = 0x112; final int MENU3 = 0x113; @Ov
2015-04-08 17:37:01
506
原创 android SubMenu的使用
public class MainActivity extends Activity { //定义字体大小菜单项的标识 final int FONT_10 = 0x111; final int FONT_12 = 0x112; final int FONT_14 = 0x113; final int FONT_16 = 0x114; final int FONT_1
2015-04-08 17:07:16
436
原创 android PopupWindow
PopupWindow可以创建类似对话框风格的窗口,使用PopupWindow创建对话框风格的窗口可以自行定义窗口的位置public class MainActivity extends Activity { private Button bt; @Override protected void onCreate(Bundle savedInstanceState)
2015-04-08 15:36:06
273
原创 android SearchView搜索框
public class MainActivity extends Activity implements SearchView.OnQueryTextListener{ private ListView listView; private SearchView searchView; private final String [] mStrings = {"aaaaa","b
2015-04-08 10:46:58
347
原创 android ViewFlipper
ViewFlipper组件继承了ViewAnimator,他可以调用addView(View v)添加多个组件,一旦向ViewFlipper中添加了多个组件之后,ViewFlipper可使用动画控制多个组件之间的切换效果。ViewFlipper与前面介绍的AdapterViewFlipper有较大的相似性,他们可以控制组件的切换效果,他们的区别是ViewFlipper需要开发者通过ad
2015-04-08 09:45:10
259
原创 android ImageSwitch (动画的图片浏览)
public class MainActivity extends Activity { int[] imageId = new int[] { R.drawable.fy_d_go, R.drawable.fy_d_kf, R.drawable.fy_d_kf2, R.drawable.fy_d_kf_s, R.drawable.fy_d_more_s, R.draw
2015-04-08 09:26:43
267
原创 android ViewSwitcher视图切换组件
主要的layout文件avtivity_main.xmlhttp://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/layout" android:layout_width="match_parent"
2015-04-07 17:45:38
344
原创 android StackView将照片堆叠在一起通过拖动或单机按钮来显示上一张下一张图片
主要的activitypublic class MainActivity extends Activity { private Button pre; private Button next; private StackView stackView;; private int[] imageIds = { R.drawable.fy_d_go, R.drawable.f
2015-04-07 15:53:55
693
原创 android AdapterViewFlipper 自动播放图片
public class MainActivity extends Activity { private Button pre; private Button next; private Button auto; private AdapterViewFlipper adapterViewFilter; private int[] imageIds = { R.draw
2015-04-07 15:28:48
471
原创 android ExpandableListView用法(可展开的列表组件)
public class MainActivity extends Activity { private ExpandableListView listView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); set
2015-04-07 14:51:06
247
原创 android intent filter 监听电量变化
IntentFilter batfilter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED); Intent battery = registerReceiver(null, batfilter); int status = battery.getIntExtra(BatteryManager.EXTRA_STATUS, -1
2015-04-01 10:55:52
594
原创 android broadcast的使用
广播接收器public class myReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { System.out.println("11111111111111"); }}发送广播bt.s
2015-03-31 11:11:42
200
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人