`
pjwqq
  • 浏览: 79756 次
社区版块
存档分类
最新评论
文章列表
    最近学习 Android,感觉Android事件传递机制很有意思,搞懂这个基础知识点是必须的,于是收集资料,做个Demo加深印象,记录之。     Demo比较简单,一个ViewGroup上放置一个按钮。     自定义VieGroup继承自LinearLayout:   package com.example.mydispatchtouchevent; import android.content.Context; import android.util.AttributeSet; import android.util.Log; import android.vi ...
     这个是developer.android.com的demo,初学android,做下笔记.        目的: 实现点击缩略图,动画放大为大图,点击大图,反向动画为缩略图.        思路: 最外层用FrameLayout,便于将加载大图的ImageView覆盖在缩略图之上,先将此imageView ...
    CyclicBarrier/关卡,多个线程在关卡处同步,是CountDownLatch的加强版,多了一些有用的新特性。     Demo(Java7并发编程):在一个巨大的矩阵中寻找某个数字,任务可能相当耗时,于是多个线程分配好任务后一起上,人多力量大,大家都完成任务后,到组长那里汇报结果,组长再对结果进行统计(分治法)。     1.模拟矩阵 package java7.Lesson5_CyclicBarrier; import java.util.Random; import util.Util; public class MatrixMock { pr ...
    CountDownLatch/门栓,在完成一组其它线程中执行的操作之前,该线程(可以是多个)一直等待。     相信大家遇到过这样场景:在进行某个操作之前,先需要加载不同数据源的一系列数据,而每个加载可能相当耗时,客户端就只能一直等待。     Demo:举行一个小型会议,所有人到齐了才能开会,如果有人迟到,大家一起干等。     1.模拟会议进度线程   package java7.lesson4_CountdownLatch; import java.text.SimpleDateFormat; import java.util.Date; import jav ...
  Semaphore/信号,用来控制一个或多个共享资源访问。   例子(Java7并发编程,略做改动):有3台打印机(看作一个资源池),多个客户端请求打印,显然每台打印机一次只能处理一个打印请求。     1.打印机队列实现 //打印队列,同时支持3台打印机 package java7.lesson3_SemaphoreEx; import java.text.SimpleDateFormat; import java.util.Date; import java.util.concurrent.Semaphore; import java.util.concurren ...
   这几天看结城浩的《java多线程设计模式》,跟着做一些习题,有几道题目很有意思,记录下自己的体会。   首先是题目(在原书212页,书尾有解答): public class Main { public static void main(String[] args) { try { Blackhole.enter(new Object()); } catch (InterruptedException e) { e.printStackTrace(); } } }   public class Blackhole { ...
  访问者模式是个有点深度的模式。   先看维基的描述:   访问者模式是一种将算法与对象结构分离的软件设计模式。   这个模式的基本想法如下:    1. 首先我们拥有一个由许多对象构成的对象结构,这些对象的类都拥有一个accept方法用来接受访问者对象;    2.访问者是一个接口,它拥有一个visit方法,这个方法对访问到的对象结构中不同类型的元素作出不同的反应;    3.在对象结构的一次访问过程中,我们遍历整个对象结构,对每一个元素都实施accept方法,在每一个元素的accept方法中回调访问者的visit方法,从而使访问者得以处理对象结构的每一个元素。
先看维基的解释   享元模式(英语:Flyweight Pattern)是一种软件设计模式。它使用共享物件,用来尽可能减少内存使用量以及分享资讯给尽可能多的相似物件;它适合用于当大量物件只是重复因而导致无法令人接受的使用大量 ...
    最近看<JAVA与模式>,单例章节的例子,我作了修改之后的练习,用properties文件代替数据库,略有不同。     需求:某个系统需要的多键值生成器,键值唯一,键值缓存(避免多次访问,节约资源)     实现:       一个标准单例: package singleton.keyGenerator; import java.util.HashMap; public class KeyGenerator { private static KeyGenerator keyGenerator = new KeyGenerator(); ...
  昨天按照需求把很久以前写的某段delphi代码修改了一下,单个Unit终于突破了5000行,其实花的时间主要是修改之前的"复习"。   出于对今后再次修改的恐惧,也是为了理清思路,把某些方法和变量封装成几个Class。感觉代码干净多了。 今天读了<Java与设计模式>前几章,感觉讲的非常好,之前也看过一些模式的书和博客,具体模式都讲的很清楚,但是总感觉缺了点什么,少了提纲挈领的东西。 摘录一段(可能不是原话):   开闭原则 Open-Closed Principle  简称 OCP:一个类应该对扩展开放,对修改关闭。 开闭原则从另一个角度上 ...
这几天开始看netty,作些笔记。 netty5文档中 ChannelHandler开始处介绍了attachment的使用,用来保存handler的状态信息 public class DataServerHandler extends SimpleChannelInboundHandler<Message> { private final AttributeKey<Boolean> auth = new AttributeKey<Boolean>("auth"); @Override ...
说实话Ext这个东西还是比较不爽,那个官方的api也太简单了,很多地方都寥寥几句话,搞的像我这样的初学者很泄气,不过做事最好还是有始有终,有点心得,记录一下。 所谓的常见的应用界面就是登录完毕之后,左边一个菜单面板,中间一个TabPanel来放具体功能 后台传回数据后,点左边菜单应该可以动态加载功能 1.登录完毕后,加载左菜单,这个没啥好说的,数据: { "success": true, "children": [ { "functionId": 1, "functionMapping ...
  Grid是第一个要学的,Ext也一样,体验了一把,感觉MVC下用起来还是很爽的啊! 记录一下,免得忘了。   功能很简单,显示用户密码,然后CURD view在此 Ext.define('PJ.view.UserInfoPanel', { extend: 'Ext.panel.Panel', alias : 'widget.userinfopanel', store : 'UserInfo', layout: { type: 'border' }, title: '用户管理', initComponent: f ...
  学习Ext4.2的MVC有半个月了,感觉进展缓慢,一方面是资料比较少,另一方面主要还是比较懒,加上工作上暂时也没这方面需求。Ext真是个不错的Web前端框架,就凭他自成体系,把js从头到脚包装一遍花的力气,也让人赞叹(当然好不好用是另外一回事)。所谓重量级可不是吹的。   虽然进度比较慢,还是有点小心得,记录下来。   Ext.data.writer的类型不是json就是xml等,有时候与我的要求不符,因为有时候post到后台的我要求的不是纯json,例如我经常这么干: @Action(value = "userAction") public class User ...
Global site tag (gtag.js) - Google Analytics