Java 容易疑惑的一些杂记录】的更多相关文章

1 final.finally和finalize final 是一个关键字 ,final 修饰 对象不能被修改,final 修饰的方法不能被重写,final 修饰的 类 不能被继承. finally 是 异常处理的最后一步,finally 一定会被执行,一般用于资源释放. 问题: 1 如果 在 try 或者 catch 种有 return ,那么 finally  会执行吗? 答:finally  一定会执行 2 在什么时候执行? 答:finally   会在return的 过程中执行,比ret…
前言: 本章介绍自己写的基于java.util.logging的轻量级日志记录库(baseLog). 该版本的日志记录库犹如其名,baseLog,是个实现日志记录基本功能的小库,适合小型项目使用,方便快捷,简单实用,没有使用缓冲区,日志写出操作都是同步操作. 很早就想过要写两个日志记录器,一个用于大项目(logGuide),解决多线程模型下的日志记录并发性能问题:一个是基于Java的logging库写的简单同步日志记录,适合小项目,简单.便捷. 之前写过一个logGuide,该日志记录系统没有使…
android(java) 开发过程中经验及总结记录…
String使用的equals方法和==的区别 equals方法和==的区别   首先大家知道,String既可以作为一个对象来使用,又可以作为一个基本类型来使用.这里指的作为一个基本类型来使用只是指使用方法上的,比如String s = "Hello",它的使用方法如同基本类型int一样,比如int i = 1;,而作为一个对象来使用,则是指通过new关键字来创建一个新对象,比如String s = new String("Hello").但是它的内部动作其实还是…
目的 为什么会有这篇文章呢,是因为我在学习各种框架的时候发现很多框架都用到了这些内部类的小技巧,虽然我平时写代码的时候基本不用,但是看别人代码的话至少要了解基本知识吧,另外到底内部类应该应用在哪些场合,我并不是很清楚,留下一些值得思考的问题作为记录,说不定以后能自己来填.于是就会有这篇文章啦. 常规使用方法我也不想介绍,网上一大把,我就说说比较容易错的,值得注意的地方. 注意 这篇文章只是分享一下我对内部类的一些研究与困惑吧,说不定对大家有帮助,说不定能引导大家一起思考学习.Java语法知识其实…
公司启动全国支票影像系统,有这样一个功能是和消息中间件打交道,需要记录每一个报文出错情况,因为方便后期开发人员的调试,我选用了log4j作为日志记录,好了废话不多说了! 第一步:首先建立一个WEB工程,去log4j官网下log4j的JAR包导入到工程的lib目录下 第二步:在src目录下建一个log4j.properties 文件,文件命名可以由自己,只是记加载时候和这里名字一致就行: log4j.properties  里边的内容如下: ### set log levels ###log4j.…
JAVA数据接口采用jersey技术,可以返回xml,json等格式,可以根据客户端请求accept,如:Application/json,Application/xml 来得到不同的接口数据,非常好用,可是此框架有个缺陷,就是当返回json,如果是数组,只有一条记录的情况下,会有没[],如:我需要的返回格式是: {"items":[{"id":1,"name":"testname"}]} 而接口实际返回的是: {"…
我们编写程序就是为了方便用户使用, 我觉得UI设计的核心就是简洁, 操作过于繁琐的程序让很大一部分用户敬而远之. 即使功能强大, 但是人们更愿意使用易于操作的软件. 近年流行起来的操作手势和逐渐趋于成熟的语言控制以及其他更加易于操作的方式很可能会颠覆鼠标键盘的操作方式, 我相信这一天必将到来. 电影<<普罗米修斯>>中画面 我记得我去年编写了我的第一个用户界面, 现在想起来当时非常令我困惑的有两项: 不知道该如何将自己原来的功能代码与新建的图形界面联系在一起, 对众多的监听器不知从…
这里只是简单的记录一下linux环境下面如何快速的搭配好环境,使你的项目能在linux环境上面运行. 很多时候,我们都是用windows环境进行配置调试的,而真正很多服务器都是在linux服务器上面的. 下面我就引用一些别人的网页,然后简单的描述记录一下,如何才能快速的配置好环境.至于很多细节的处理,我就点到为止了. 首先记录一下配置,我用得linux是contentOS,服务器用的是阿里云. 下面是记录: 大致安装流程:http://www.cnblogs.com/ada-zheng/p/37…
本文链接地址:http://blog.csdn.net/sushengmiyan/article/details/18779727 作者:sushengmiyan 现在就码字说说今天晚上搞定的一个项目吧,是java的,开源项目 名字叫IQQ. 开源项目IQQ简介: 个人理解:IQQ是借助于WEBQQ协议开发的一个桌面应用小程序,使用Java语言跨平台开发,可以使用于Java所支持的各种平台上运行,当然,仅供学习研究使用,不能当做商业用途哟,作者基于Linux(Ubuntu 12.04)系统,使用…
简化定义匿名实现类 匿名实现类的传统方式 创建一个线程,需要实现Runnable接口,并实现public void run()方法,用传统的方式是这样的: public static void main(String[] args) { new Thread(new Runnable() { @Override public void run() { System.out.println("hello world"); } }).start(); } 无参数.单语句方法体 用lambd…
JavaSE课堂记录(二) 第一节课 方法的重载:方法名相同,参数列表不同 方法的重写:方法名,参数列表相同 两同:方法名相同,参数列表相同 两小:访问权限小与等于父类,返回值类型小于等于父类(返回值为基本数据类型时,必须相等,引用数据类型时必须小于等于父类) 一大:抛出的异常要大于等于父类 JDK的包结构 为了便于使用和维护,所以进行分包,JDK类库是按照包结构进行划分的,不同的功能划分在不同的包中.经常使用的包如下: 包 功能 java.lang java程序的基础类,如字符串,多线程,ja…
java并发编程实践 11.1ArrayBlockingQueue的使用 有关logback异步日志打印中的ArrayBlockingQueue的使用 1.异步日志打印模型概述 在高并发.高流量并且响应时间要求比较小的系统中同步打印日志在性能上已经满足不了了,这是以因为打印本身是需要写磁盘的,写磁盘操作会暂时阻塞调用打印日志的业务系统,这会造成调用线程的响应时间增加.    ----- >>> 异步日志打印,是将打印日志任务放入一个队列后就返回,然后使用一个线程专门从队列中获取日志任务,…
同步器 10.1CountDownLatch 在开发过程中经常会遇到在主线程中开启多个子线程去并行执行任务,并且主线程需要等待子线程执行完毕后在进行汇总.在CountDownLatch出现之前使用线程的join方法,但是join方法不灵活. 1.案例: package com.nxz.blog.otherTest; import java.util.concurrent.CountDownLatch; public class TestThread006 { private static Cou…
java并发包中锁 6.1LockSupport工具类 该类的主要作用就是挂起和唤醒线程,该工具类是创建锁和其他工具类的基础.LockSupport类与每个使用他的线程都关联一个许可证,在默认情况下调用LockSupport类的方法的线程是不持有许可证的. 1.void park() 如果调用park方法的线程已经那都了LockSupport关联的许可证的话,那LockSupport.park()会立刻返回,否则就会阻塞挂起. package com.nxz.blog.otherTest; im…
1.1什么是线程? 在理解线程之前先要明白什么是进程,因为线程是进程中的一个实体.(线程是不会独立存在的) 进程:是代码在数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,线程则是进程中的一个执行路径,一个进程中至少会有一个线程,进程中的多个线程共享进程的资源. 线程:是cpu分配的基本单位. 由上图可看出,一个进程中会有多个线程,多个线程共享堆和方法区,但是每一个线程都会有自己的栈和程序计数器. 为什么要将栈和程序计数器设置为线程私有的呢? 前边说线程是cpu执行的基本单位,而cp…
1 简介 Java是面向对象的编程语言,只要使用它,就需要创建对象.Java创建对象有六种方法,实际常用的不会这么多,这里权当是记录一下. 2 六种方法 (1)使用new关键字 Pumpkin p1 = new Pumpkin(); (2)反射之Class类newInstance() Pumpkin p2 = Pumpkin.class.newInstance(); (3)反射之Constructor类的newInstance() Pumpkin p3 = Pumpkin.class.getDe…
结果 基本实现了识别的功能.基本的界面如下 界面长得比较丑,主要是JavaSwing写界面比较麻烦,写个菜单栏都要那么多代码.目前不打算改了. 实现的思路是:使用opencv中自带的OpenCVFrameGrabber获取摄像头的数据,CanvasFrame来显示摄像头捕获的画面. 点击注册和识别都会在捕获的视频流自动抓取一帧图片,点下面的按钮可以查看拍摄效果 当输入想要比对的身份,点击识别之后,会与注册保存的数据进行比对 准确率还行. 附上部分代码 public static void Ope…
数据源配置 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframew…
jOOQ: http://www.jooq.org JINQ: http://www.jinq.org JaQue: http://github.com/TrigerSoft/jaque JaQu: http://www.h2database.com/html/jaqu.html Linq4j: https://github.com/julianhyde/linq4j Quaere: http://quaere.codehaus.org/ QueryDSL: http://www.queryds…
作者:sushengmiyan 本文地址:http://blog.csdn.net/sushengmiyan/article/details/18992741 打开IQQ项目,打开包iqq.app中的类IMApp,找到程序入口即这个类的主方法,可以看到如下代码: public static void main(String[] args) { LOG.info(System.getProperty("java.vm.name") + System.getProperty("j…
1.标识符 Java所有的组成部分都需要名字.类名.变量名以及方法名都被称为标识符. 关于Java标识符,有以下几点需要注意: 所有的标识符都应该以字母(A-Z或者a-z),美元符($).或者下划线(_)开始 首字符之后可以是字母(A-Z或者a-z),美元符($).下划线(_)或数字的任何字符组合 关键字不能用作标识符 标识符是大小写敏感的 合法标识符举例:age.$salary._value.__1_value 非法标识符举例:123abc.-salary 2.变量的作用域和生存期 变量的作用…
目录 3.1 运算符与表达式 3.3 if条件分支语句 3.7 for语句与数组 参考资料 3.1 运算符与表达式 和C语言基本上没有区别,要注意的是关系运算符的输出结果是bool型变量 特别要注意算数混合运算的精度 精度从高到低排序如下: byte short char int long float double (1)运算时按最高精度计算 (2)如果最高精度低于int型整数,按int型计算 (3)Java允许把不超过byte.short.char的取值范围的算数表达式的值赋给byte.sho…
目录 第2章 基本数据类型与数组 2.1 标识符与关键字 2.2 基本数据类型 2.3 类型转换运算 2.4 输入.输出数据 2.5 数组 参考资料 第2章 基本数据类型与数组 2.1 标识符与关键字 1.标识符 标识符由字母.下划线.美元符号.数字组成 标识符第一个字符不能是数字字符 标识符不能是关键字或者true.false.null等有其他意义的字符 2.Unicode字符集 Java语言使用Unicode字符集,也就是说Java中可以直接把汉语作为变量名,但是不建议这么做 2.2 基本数…
今天帮别人写封装几个url 请求,打成jar 包,可以以java接口的方式提供给外部访问. 遇到两个问题: 1. 是否把依赖的jar包也 打入 我要生成的jar包中,如果你不打入,别人直接调用接口会报错.如果你打入可能会和使用该jar包的项目发生冲突,因为别人可能已经引入了相关jar包. 自己可以根据要求来定: 如果不打就需要把jar和pom文件都提供给需求提出者. 如果需要可以使用maven 插件 maven-assembly-plugin. <plugin> <groupId>…
HashMap源码简单分析: 1 一切需要从HashMap属性字段说起: /** The default initial capacity - MUST be a power of two. 初始容量 */ static final int DEFAULT_INITIAL_CAPACITY = 1 << 4; // aka 16 /** * The maximum capacity, used if a higher value is implicitly specified * by eit…
目录 使用JDB调试程序 系统文件被覆盖的挽救 参考资料 使用JDB调试程序 JDB是JDK自带的基于命令行的调试程序.我们先来man一下吧(说到这里,我之前在翻娄老师的博客的时候看到一篇文章:做中学之提升英语口语很真实,虽然我六级不好不坏589,但是口语只有C+.平时看文档虽然认真看能看懂,但是还是喜欢偷懒去网上翻译.看来要走的路还很多,可能选走更困难一点的路是更正确的选择吧,这个话题以后再说) jdb(1) Basic Tools jdb(1) NAME jdb - Finds and fi…
目录 Windows安装JDK.Git Linux下安装JDK.Git.IDEA 参考资料 Windows安装JDK.Git 到官网直接下载JDK,双击安装程序就正常安装就行了. 下载完以后,可以看到jdk文件夹下有以下文件: bin :主要包含开发工具,如编译器javac.exe和解释器java.exe jre :Java运行环境,包括JVM.库类等 lib :附加库 include :C头文件,支持使用Java本机界面.JVM工具界面以及Java平台的其他文件 src.zip :Java核心…
java.util.Arrays主要是用来对数组进行操作的类,主要包括以下方法: 1.数组转化列表,得到固定大小的列表,Arrays.asList(...): public static <T> List<T> asList(T... a) 返回一个受指定数组支持的固定大小的列表.(对返回列表的更改会“直接写”到数组.)此方法同 Collection.toArray() 一起,充当了基于数组的 API 与基于 collection 的 API 之间的桥梁.返回的列表是可序列化的,并…
1,aws sdk jar版本不一致问题 一开始我在pom.xml中只配置了如下aws-java-sdk-s3 <!-- https://mvnrepository.com/artifact/com.amazonaws/aws-java-sdk-s3 --> <dependency> <groupId>com.amazonaws</groupId> <artifactId>aws-java-sdk-s3</artifactId> &l…