30.

svn服务器运行方式:

  • svnserve:自己做实验的时候用。
  • svn&apache结合起来用。【常用的】

29.

EXTJs not Jquery【根据项目组需求】

28.

tags(lable)

  • svn
  • 上传:check in
  • 下载:check out(commit)

27.

静态方法没有this

  • Properties类
  • Singleton模式(单例模式)(只需从硬盘里面拿一次,放到内存里,还是定义成static的,是放到data区的,提高了效率。)

26.

静态代码区:

static {

}

  • 这个class第一次load到内存里面的时候,一定执行此区域的代码。
  • 最适和给变量做初始化。
  • 也可以放语句。

25.

异步IO。

虚代理。

24.

boolean flag = false;

  • 代码这样写: if (!flag) 或者 (flase == flag) 不要这样写(flag == false)【因为第三种写法,如果少写一个等号,不会报错。但是if {} 里面的东西肯定不会执行】

23.

java.awt.Toolkit通过toolkit可以拿到适合 操作系统 去做的事情。【硬件信息等等】

  • 图片写成静态的,因为没必要 每new一个 对象,就从硬盘里面 拿一次图片。load一次,大家一块用就成了。
  • 拿到图片,是用getImages(String)还是getImages(URL)?
    • getImages(string)的方式,无论相对路径还是绝对路径都不太合适。
    • getImages(URL)的方式用的比较多。tk.getImage(Explode.class.getClassLoader().getResource("images/0.gif")) 【 反射机制 】【getResource就会找遍classpath】
    • 只要把images放到classpath目录下面,上面的方法 就可以 通过classpath来找到 那些图片。【不依赖相对和绝对路径,只依赖 images目录 放没放到class path里面 】
  • java.lang.Class对于编译好的某一类对象的描述【对 类装载器来说,当它把编译好的class文件 拿到 内存里面的时候,这些class文件 就像是一个个的对象。java.lang.Class这个类就是对于这些对象的描述】 『这个对象。要装载到内存里面的(class文件)对象』
    • 对于classloader,每一个 .class 实际就是一个Class对象。
    • java.langClass是对类信息的描述,是类的metainfo/metadata。
  • static
  • 基本反射
  • getResource classpath来找images
  • tk.getImage(Explode.class.getClassLoader().getResource("images/0.gif")) 将要被classloader装到内存里面的Explode这个class,拿到这个class的classloader,调用clasloader的getResource方法,此方法会找遍classpath,其返回值是URL.

22.

如果你在修改时,修改某个类牵扯到的 别的类 地方比较多,那说明你设计的不太合理。

21.

出界,设置为最大;

撞墙,记录oldX,oldY。上一步的位置。

20.

碰撞检测:

  • 游戏中一般使用别人写好的类库。而不是自己去写算法。
  • 碰撞检测比较复杂。

19.

debug:

  • 跟思路结合起来。
  • 怎么样一步一步跟踪代码;
  • 怎么样设置断点;设置合适的断点;
  • 学会在运行中观察变量的值。

18.

v0.7重要版本:面向对象的思考方法

  • 不要上来就第一步,第二步,而是 :
  • 问题域里有哪些类?
    • 类属性,方法(首先考虑构造方法)。
    • 合适的方法出现在合适的类里面。

17.

v0.5

  • 定义常量以 应对将来的改动。
  • public static final

16.

//Graphics :画笔

15.

v0.4.1

使用双缓冲解决闪烁现象

  • 原因:
    • 刷新重画频率太快,paint方法还没有完成;(sleep的时间太短)
    • 逐条显示
  • 解决:
    • 将所有的东西画在一张虚拟图片上,一次性显示出来
    • 即:在重写update方法里面实现。

14.

v0.4让坦克动起来:

  • 将位置改为变量
  • 启动线程不断重画
    • 不用按键进行重画的原因:
      • 线程重画更均匀,更能控制子弹的飞行;
      • 按键重画不能解决将来子弹自动飞行的问题;
  • 每次重画,改变坦克的位置

13.

豆绿的颜色 RGB(199, 237, 204)

new Color(199, 237, 204)

12.

  • 关闭窗口有三种方式:
    • 并排的类;
    • 内部类;(不方便公开的,只为外部包装类服务)
    • 匿名类;(一般是用的这种)(通常不会给别的类提供服务)
      • 类代码少
      • 不涉及将来的扩展
      • 不涉及重要的业务逻辑

11.

  • 窗口显示两种方式:
    • new Frame;
    • 从Frame继承。(推荐)(可以设置自己的成员变量)

10.

  • 瀑布式:
    1. 需求分析。
    2. 设计。
    3. 写代码。
    4. 测试。
  • 螺旋递增式:
    1. 先写核心功能,边缘功能不着急。
      • 加入一点功能,先验证下。一步一步来。
        • Missile类时用到的:
        • 不一定一次写到位
        • 进行多次试验
        • 将步骤分解开来逐一进行调试
    2. 随版本,添加新功能。

9.

命名/格式:(见名知意)

  1. 见名知意
  2. 类名首字母大写
  3. 方法名、变量名首字母小写
  4. 应用驼峰标识

常用编程方法:

  • getters setters
  • 持有对方引用
  • 定义常量
  • 保留 各个版本
  • 学会版本比较

8.

  • 面向过程
    • 第一步,第二步.........
  • 面向对象
    • 这个问题里有哪些类,类里有哪些对象

7.

坦克大战:

  • 不必太关注细节
    • 不必非得把某个类的所有细节全了解清楚再动手
    • 不必追求完美
    • 关键是写完,想方设法让它运行起来
    • 太关注细节,追求完美,到时候运行不起来,没有成就感,就会让自己的热情减退
  • 量变引起质变
    • 写多了,细节自然就会清楚。

*******************************************************************************

6.

  • 在单独的监视线程里面,去除 退出的客户端。
  • 还监视多久没联系了。
  • 监视线程使用另外的端口。
  • f
  • 其他功能:
    • 登录的时候注册名字。
    • 显示的时候,前面加上名字。
    • 密谈。
    • 过滤特殊字符,换成表情。

5.

让线程停止的方式:

  • boolean
  • join().
    • join的时候,如果线程阻塞住了,可以等它一定时间(单独的线程用来监听)。此段时间内没反应,停掉。
  • catch到exception的时候退出。【这样的逻辑不好,还是用join方法比较好】

4.

Chat:

  • 接收和处理数据的问题:
    • 异步I/O
    • 多线程:
      • 接收客户端连接
      • 处理客户端数据

5.

Iterator遍历 会锁定,效率不高。

可以使用类似数组似的循环来遍历。

  • clients 是List集合。
  • for(int i=0; i<clients.size(); i++) {
  • }

4.

面向对象的思维:

  • main方法就是个大管家。所以具体的实现 封装到方法里。start方法。launchFrame方法。
  • 功能封装到方法里。

3.

  • 选择内部类、匿名内部类还是外部类:
    • 是否 需要给 别的类 提供服务。
    • 代码多,不要用匿名内部类。
  • 传递属性常用方式:
    • 构造方法。
  • static的main方法里不能new一个 内部类的 非static 的对象。
    • new的时候放进一个方法里,然后在main方法里调用这个方法。

2.

  • 调试性的语句写到最左边。(习惯)
    • 写完之后可能要注释掉。
  • try catch 写在最外面,尤其是和while循环在一起写的时候。

1.

  • 为防止不同项目之间的源文件混淆,关闭不用的Project。
  • 版本控制。
  • 程序是调试出来的。多调试。
  • 先写主干,再去修饰细节。
  • 如果有问题,按照执行顺序,一环一环的检查。

SXT_项目的更多相关文章

  1. Fis3前端工程化之项目实战

    Fis3项目 项目目录结构: E:. │ .gitignore │ fis-conf.js │ index.html │ package.json │ README.md │ ├─material │ ...

  2. 【原】Android热更新开源项目Tinker源码解析系列之三:so热更新

    本系列将从以下三个方面对Tinker进行源码解析: Android热更新开源项目Tinker源码解析系列之一:Dex热更新 Android热更新开源项目Tinker源码解析系列之二:资源文件热更新 A ...

  3. 最近帮客户实施的基于SQL Server AlwaysOn跨机房切换项目

    最近帮客户实施的基于SQL Server AlwaysOn跨机房切换项目 最近一个来自重庆的客户找到走起君,客户的业务是做移动互联网支付,是微信支付收单渠道合作伙伴,数据库里存储的是支付流水和交易流水 ...

  4. Hangfire项目实践分享

    Hangfire项目实践分享 目录 Hangfire项目实践分享 目录 什么是Hangfire Hangfire基础 基于队列的任务处理(Fire-and-forget jobs) 延迟任务执行(De ...

  5. Travis CI用来持续集成你的项目

    这里持续集成基于GitHub搭建的博客为项目 工具: zqz@ubuntu:~$ node --version v4.2.6 zqz@ubuntu:~$ git --version git versi ...

  6. 【原】Android热更新开源项目Tinker源码解析系列之一:Dex热更新

    [原]Android热更新开源项目Tinker源码解析系列之一:Dex热更新 Tinker是微信的第一个开源项目,主要用于安卓应用bug的热修复和功能的迭代. Tinker github地址:http ...

  7. 【原】Android热更新开源项目Tinker源码解析系列之二:资源文件热更新

    上一篇文章介绍了Dex文件的热更新流程,本文将会分析Tinker中对资源文件的热更新流程. 同Dex,资源文件的热更新同样包括三个部分:资源补丁生成,资源补丁合成及资源补丁加载. 本系列将从以下三个方 ...

  8. Angular企业级开发(5)-项目框架搭建

    1.AngularJS Seed项目目录结构 AngularJS官方网站提供了一个angular-phonecat项目,另外一个就是Angular-Seed项目.所以大多数团队会基于Angular-S ...

  9. 【分享】标准springMVC+mybatis项目maven搭建最精简教程

    文章由来:公司有个实习同学需要做毕业设计,不会搭建环境,我就代劳了,顺便分享给刚入门的小伙伴,我是自学的JAVA,所以我懂的.... (大图直接观看显示很模糊,请在图片上点击右键然后在新窗口打开看) ...

随机推荐

  1. pyhon之对memcached及redis操作

    Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱动网站的速度.Memcached ...

  2. androidstudio 查看源码

    handler.postDelayed(myrunable,10000); ctrl+鼠标左键,点击postDelayed显示(不可以查看源码) ctrl+鼠标左键,点击postDelayed显示(可 ...

  3. 计算机网络 学习笔记-传输层:TCP协议简介

    概述: TCP传输前先要建立连接 TCP在传输层 点对点,一条TCP只能连接两个端点 可靠传输.无差错.不丢失.不重复.按顺序 全双工 字节流 TCP报文段 TCP报文段的报头前20字节是固定的,后面 ...

  4. delphi 10 seattle 安卓服务开发(三)

    delphi 10 里面的安卓服务有四种,上面的一篇文章里面的图有介绍. 今天做一个remote service 的例子.(里面一部分代码是抄别人的,如果不太清楚,自行恶补) remote servi ...

  5. json 特殊字符 javascript 特殊字符处理(转载)

    特殊字符以前都是禁止页面输入,这样就简单不容易出错,但最近需求要求能输入特殊字符整理出java返回json时特殊字符的转义(不转义会破坏json数据格式导致页面读取数据出错) Java代码 publi ...

  6. js中数组

  7. 循序渐进Python3(七) -- 2-- 面向对象进阶

    面向对象是一种编程方式,此编程方式的实现是基于对 类 和 对象 的使用 类 是一个模板,模板中包装了多个“函数”供使用(可以讲多函数中公用的变量封装到对象中) 对象,根据模板创建的实例(即:对象),实 ...

  8. uiwebview底部黑边解决

    解决方法 设置webview的opaque为no

  9. .NET Remoting原理及应用实例:

    Remoting:(本文摘自百度百科) 简介:        什么是Remoting,简而言之,我们可以将其看作是一种分布式处理方 式.从微软的产品角度来看,可以说Remoting就是DCOM的一种升 ...

  10. ContentProvider 增删改查通讯录

    一.通讯录应用介绍 通讯录应用是Android自带的应用程序,我们看到此应用的时候,可能只认为这是一个应用,用数据库存储数据,但是实际上不是这样的. 通讯录是ContentProvider的应用,通讯 ...