Java
lilie008
这个作者很懒,什么都没留下…
展开
-
MVP + Dagger2 + Kotlin 随笔
这些工具的使用入门门槛还是挺高的,属于架构设计层次。所以边学习边记录一些学习过程的知识。其中涉及大量转载知识点。MVP+Dagger2 + + KotlinMVPDagger2引入插件和依赖Dagger2注解的一些规约Dagger2结构简单描述插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出原创 2020-07-20 19:40:59 · 242 阅读 · 0 评论 -
new一个类对象和使用类名创建一个对象有什么区别?LinkList和ArrayList的区别
存储空间上不同。 new出来的在堆上 直接定义的在栈上 .用法似乎高手都喜欢用new,因为堆的内存大嘛,我喜欢用栈,方便点,不用指来指去,还要回收内存.栈在递归可能会遇到溢出,因为内存有限制.而且new出来的可以用很多动态重载的特性.转载 2014-12-16 11:11:26 · 947 阅读 · 0 评论 -
try、catch 相关问题
try {int x = 0;float y = 0;float z = x / y;System.out.println("11");try {int a[] = new int[3];a[3] = x;System.out.println("22");return;} catch (Exception e) {System.out.println("转载 2014-12-16 12:02:10 · 421 阅读 · 0 评论 -
serialVersionUID JAVA的序列化机制
serialVersionUID适用于JAVA的序列化机制。简单来说,Java的序列化机制是通过判断类的serialVersionUID来验证版本一致性的。在进行反序列化时,JVM会把传来的字节流中的serialVersionUID与本地相应实体类的serialVersionUID进行比较,如果相同就认为是一致的,可以进行反序列化,否则就会出现序列化版本不一致的异常,即是InvalidCastEx转载 2015-01-19 11:37:18 · 482 阅读 · 0 评论 -
Java 中对象转XML,JSON解析,JSON转XML相关包
xstream,http://xstream.codehaus.org下载XStream的最新版本将对象序列化为XML到这一步,我们就可以将一个Java对象序列化为一个XML文件了,我们先声明一个Person对象,然后加入两条电话号码对象:Person person = new Person("Chen", "Tao");joe.setPhone(new PhoneNumber转载 2015-01-20 11:44:15 · 3860 阅读 · 0 评论 -
SSH之Struts(一)
Struts2的环境要求 Apache Struts2的环境需求如下: Servlet API 2.4JSP API 2.0Java 5需要提醒的是,在Struts中会用到Annotation,所以请将JDK版本升级到1.5以上Struts2环境搭建Struts的下载 从游转载 2015-03-09 10:46:54 · 403 阅读 · 0 评论 -
SSH之Struts(二)
Struts的Vaildation.xml验证当使用struts的validation.xml进行验证时,需要注意如下几个方面:首先应该注意validation.xml的名字,一定要以Action的类名加“-validation.xml”作为文件名。如LoginAction-validation.xml。validation.xml 的命名规则和放置路径: 文件名:转载 2015-03-12 11:39:18 · 341 阅读 · 0 评论 -
SSH之Struts(三)
创建Struts项目创建工程在Eclipse中创建一个Dynamic Web Project,本文项目名称为SSHProject。把Struts内apps文件夹下的struts2-blank war包用压缩工具解压,然后把WEB-INF/lib内的jar包和WEB-INF下的web.xml文件分别复制到SSHProject项目下的WEB-INF/lib内和WEB-INF下。在s转载 2015-03-12 14:42:06 · 359 阅读 · 0 评论 -
SSH之Hibernate
hibernatel Hibernate是一个开源ORM框架。l ORM全称Object Relation Mapping,即对象关系映射。它是一种用来完成对象模型到关系模型的映射技术。就是把应用程序中的对象数据持久化到关系数据库的表的一种技术。l 简单的说:ORM能利用面向对象的思想开放基于关系型数据库的应用程序,它的主要工作是将对象数据保存到关系数据库的表中,以及将关系转载 2015-03-12 15:08:10 · 368 阅读 · 0 评论 -
SSH之Spring
在Struts + Hibernate项目中整合Spring整合Spring将Spring内libs目录下包含所有的jar包(不需要复制结尾为sources和javadoc的jar包)到SSHProject项目的lib目录下。编写Spring的配置文件applicationContext.xml。路径:src目录下,需要在web.xml配置context-param指定路径,或转载 2015-03-12 16:40:02 · 397 阅读 · 0 评论 -
POJO和JavaBeans的区别
POJO你当成JavaBeans的一种,一个特例:简单的实体类。就是一个数据载体。区别一:POJO就是一个数据载体 一般是没有业务处理能力。区别二:POJO是new创建,由GC回收。JAVABEAN一般由容器来管理,比如你看到的scope属性,设个范围比如session,谁去帮你管?不是GC不是你自己,而是容器。举个例子 不算太标准的例子,但是便于你理解:转载 2015-03-12 18:19:40 · 711 阅读 · 0 评论 -
Android Studio 中的NDK开发
1、在Android Studio 中创建一个项目,项目配置中新建一个类(Activity或者任意一个类)。在新建的类中定义本地的方法:public native String getStringFromNative(); 2、生成.class文件build -> Make Project 编译生成.class文件。.class文件的路径:项目目录\build\app\bu转载 2015-07-06 17:32:49 · 309 阅读 · 0 评论 -
JNI开发
第一部分,介绍和指南(Part One: Introduction and Tutorial)第一章介绍"JNI"是"Java"平台的一个强大的功能。使用"JNI"的应用程序能能混合用例如"C"和"C++"语言编写的本地代码(nativecode),和用Java编程语言编写的代码。"JNI"允许编程人员,在不丢弃在传统编码上的投入,来利用Java平台功能。因为"JNI"是"Java"平转载 2015-07-07 15:08:17 · 1092 阅读 · 0 评论 -
throw和throws有何不同?如何使用
这两者虽然看起来只有一个s的区别,但是作用完全不一样/////java处理异常方式///////////////////////////////在java代码中如果发生异常的话,jvm会抛出异常对象,导致程序代码中断,这个时候jvm在做的操作就是:创建异常对象,然后抛出,比如:int i= 1;int j = 0;int res = 0;res = i/j;//除0错误System转载 2014-12-16 10:57:21 · 613 阅读 · 0 评论 -
接口和类的区别
1,抽象类里可以有构造方法,而接口内不能有构造方法。 2,抽象类中可以有普通成员变量,而接口中不能有普通成员变量。 3,抽象类中可以包含非抽象的普通方法,而接口中所有的方法必须是抽象的,不能有非抽象的普通方法。 4,抽象类中的抽象方法的访问类型可以是public ,protected和默认类型,但接口中的抽象方法只能是public类型的,并且默认即为public转载 2014-11-21 13:38:23 · 345 阅读 · 0 评论 -
synchronized,wait,notify
sleep()方法是使线程停止一段时间的方法。在sleep 时间间隔期满后,线程不一定立即恢复执行。这是因为在那个时刻,其它线程可能正在运行而且没有被调度为放弃执行,除非(a)"醒来"的线程具有更高的优先级。 (b)正在运行的线程因为其它原因而阻塞。 wait()是线程交互时,如果线程对一个同步对象x 发出一个wait()调用,该线程会暂停执行,被调对象进入等待状态,直到被唤醒或等待时间到转载 2014-07-03 14:52:19 · 344 阅读 · 0 评论 -
设计模式之Singleton
Singleton模式主要作用是保证在Java应用程序中,一个类Class只有一个实例存在。转载 2014-07-03 16:29:46 · 328 阅读 · 0 评论 -
Android在Http连接中设置超时和代理
Http连接的超时机制能够防止连接线程的无限期等待,一般可分为connect timeout和socket timeout,在Android中可以使用HttpClient和HttpURLConnection建立Http连接,因此存在两种设置超时的方式,首先Socket等待建立连接的超时时间和Socket输入流等待数据到达的超时时间设置如下:private static final in转载 2014-07-04 10:05:00 · 648 阅读 · 0 评论 -
27中设计模式例子解析与分类
设计模式主要分三个类型:创建型、结构型和行为型。 其中创建型有: 一、Singleton,单例模式:保证一个类只有一个实例,并提供一个访问它的全局访问点 二、Abstract Factory,抽象工厂:提供一个创建一系列相关或相互依赖对象的接口,而无须指定它们的具体类。 三、Factory Method,工厂方法:定义一个用于创建对象的接口,让子类决定实例化哪转载 2014-07-30 17:23:54 · 489 阅读 · 0 评论 -
String,StringBuffer与StringBuilder的区别
String 字符串常量StringBuffer 字符串变量(线程安全)StringBuilder 字符串变量(非线程安全) 简要的说, String 类型和 StringBuffer 类型的主要性能区别其实在于 String 是不可变的对象, 因此在每次对 String 类型进行改变的时候其实都等同于生成了一个新的 String 对象,然后将指针指向新的 String 对象,所以经常翻译 2014-07-31 11:29:03 · 270 阅读 · 0 评论 -
BigDecimal.setScale()方法
BigDecimal.setScale()方法用于格式化小数点setScale(1)表示保留一位小数,默认用四舍五入方式 setScale(1,BigDecimal.ROUND_DOWN)直接删除多余的小数位,如2.35会变成2.3 setScale(1,BigDecimal.ROUND_UP)进位处理,2.35变成2.4 setScale(1,BigDecimal.ROUND_H转载 2014-07-31 15:45:13 · 4161 阅读 · 0 评论 -
JAVA双缓存机制
我们很多用Java中的g.drawImage()方法导入图像时,如果我们将当前窗口转变成非当前窗口状态,再从非当前窗口恢复到当前窗口状态,有时,某些绘制好的图像会消失,除非我们重新刷新窗口,显示才会恢复正常。此外,当我们移动窗口或者其他的窗口在上移动的时候,图像会有些闪烁。这是怎么一回事呢?这就要涉及到Canvas中的paint方法的绘图机制了。产生这种现象的主要原因是:1、由于在显示所绘转载 2014-08-05 18:33:33 · 1936 阅读 · 0 评论 -
Java死锁和volatile
Java线程死锁是一个经典的多线程问题,因为不同的线程都在等待那些根本不可能被释放的锁,从而导致所有的工作都无法完成。假设有两个线程,分别代表两个饥饿的人,他们必须共享刀叉并轮流吃饭。他们都需要获得两个锁:共享刀和共享叉的锁。转载 2014-08-06 17:51:59 · 662 阅读 · 0 评论 -
java的几种同步方法
1 wait方法: 该方法属于Object的方法,wait方法的作用是使得当前调用wait方法所在部分(代码块)的线程停止执行,并释放当前获得的调用wait所在的代码块的锁,并在其他线程调用notify或者notifyAll方法时恢复到竞争锁状态(一旦获得锁就恢复执行)。 调用wait方法需要注意几点: 第一点:wait被调用的时候必须在拥有转载 2014-08-10 12:32:44 · 387 阅读 · 0 评论 -
jni字段描述符
“([Ljava/lang/String;)V” 它是一种对函数返回值和参数的编码。这种编码叫做JNI字段描述符(JavaNative Interface FieldDescriptors)。一个数组int[],就需要表示为这样"[I"。如果多个数组double[][][]就需要表示为这样 "[[[D"。也就是说每一个方括号开始,就表示一个数组维数。多个方框后面,就是数组 的类型。如果以一转载 2014-08-12 11:48:46 · 429 阅读 · 0 评论 -
java学习之编译时类型和运行时类型
Java中的许多对象(一般都是具有父子类关系的父类对象)在运行时都会出现两种类型:编译时类型和运行时类型,例如:Person person = new Student();这行代码将会生成一个person变量,该变量的编译时类型是Person,运行时类型是Student。 说明一下编译时类型和运行时类型: Java的引用变量有两个类型,一个是编译时类型,一个是运行时类型转载 2014-11-20 13:36:38 · 406 阅读 · 0 评论 -
java oo的理解
1)父类构造函数java中当调用某个类的构造方法的时候,系统总会调用父类的非静态初始化块进行初始化,这个调用是隐式的,而且父类的静态初始化代码块总是会被执行,接着调用父类的一个或者多个构造器执行初始化,这个调用也可以通过super进行显式调用。例如:父类代码如下:public class Creature {//父类{//非静态代码块Syst转载 2014-11-20 18:14:13 · 605 阅读 · 0 评论 -
Java 多态
面向对象编程有三个特征,即封装、继承和多态。 封装隐藏了类的内部实现机制,从而可以在不影响使用者的前提下改变类的内部结构,同时保护了数据。 继承是为了重用父类代码,同时为实现多态性作准备。那么什么是多态呢? 方法的重写、重载与动态连接构成多态性。Java之所以引入多态的概念,原因之一是它在类的继承问题上和C++不同,后者允许多继承,这确实给其带来的非常强大的功能,但是转载 2014-11-21 11:21:47 · 331 阅读 · 0 评论 -
tatic{}(即static块)
会在类被加载的时候执行且仅会被执行一次,一般用来初始化静态变量和调用静态方法,下面我们详细的讨论一下该语句块的特性及应用。 一、在程序的一次执行过程中,static{}语句块中的内容只被执行一次,看下面的示例:示例一[java] view plaincopyclass Test{ public static in转载 2014-06-11 11:44:46 · 670 阅读 · 0 评论