Java为什么不支持多继承,使用多继承的坏处是什么? 这就是为什么Java利用接口来变相实现多重继承,接口中的方法都是未实现的,不会出现歧义问题。 Java中什么情况下会出现内存泄露? Java中有8种情况会出现内存泄露: 静态集合类:HashMap、LinkedList等。如果这些容器是静态的,那么它们的声明周期与程序一致,则容器中的对象在程序结束之前将不能被释放。 参考 java中内存泄露8种情况的总结
4. 通过类名获取 Class 对象,不会触发类的初始化。 5. 负责加载 JAVA_HOME\lib\ext 目录中的,或通过 java.ext.dirs 系统变量指定路径中的类 库。 2.9.2.3. OSGI(动态模型系统) OSGi(Open Service Gateway Initiative),是面向 Java 的动态模型系统,是 Java 动态化模块化系 统的一系列规范 Java List 一共三个实现类: 分别是 ArrayList、Vector 和 LinkedList。 3.2.1. 在覆写 compare()函数时,要返回相应的值才能使 TreeSet 按照一定的规则来排序 4. 比较此对象与指定对象的顺序。
主要思想是把运算过程尽量集成一系列嵌套的函数调用; 高阶函数 定义:把其他函数作为参数的函数叫做高阶函数; def add(x, y, func): return func(x) * func(y) result = add(4,
为什么要使用数据库 Java程序在运行的过程中对于数据进行存储操作,变量,对象,数组,集合,双边队列...数据是保存到内存中,数据存储是瞬时的,程序退出,电脑异常。都会导致数据丢失并且不可逆。 4. 文件操作没有备份,回滚,数据保护机制 2. 什么是数据库 数据库按照特定的数据结构,来进行数据的组织,存储,管理和查询,数据库软件。 ,数据存储复杂程度....可以完全符合工业要求 贵 DB2 IBM公司,不是很多见 SQL Server MS公司推出的关系型数据库 SQLite 轻量级数据库,源码1W行C语言,手机通讯录 4. MySQL开发工具使用 Navivcat for MySQL 非常不错 SQLyog 小海豚 MySQL WorkBench 免费,MySQL官网提供 IDEA Java IDE提供了数据库操作支持 7 , 60, 90); 7.3.8 模糊查询 like -- LIKE -- _ 匹配一个字符 -- % 匹配任意长度字符 -- 查询FIRST_NAME,要求FIRST_NAME字段D字母开头后面有4个字符
相关连接 https://www.jianshu.com/u/9fe0904bd4c6 https://note.youdao.com/share/? 图算法(比较少,也就两个最短路径算法理解吧) 计算机网络 OSI7层模型(TCP4层) 每层的协议 url到页面的过程 HTTP http/https 1.0 书单: 《Java推荐书籍吐血整理推荐技术书50本pdf》 链接:https://pan.baidu.com/s/1NtD4s5qADbEhYU_FC1noEQ 密码:xotx 算法与数据结构: : Java疯狂讲义/Java编程思想/Java核心技术 卷1 深入理解Java虚拟机 并发编程的艺术/多线程编程核心技术 Effective Java Java程序员面试笔试宝典 //何昊的那本 ,个人感觉是突击知识点的神器 Java程序性能优化 实战Java高并发程序设计 Java Web: Spring实战/轻量级JavaEE 企业应用(红皮,讲SSH的) //主要看最后一部分Spring
在Java 5以前,switch(expr)中,expr只能是byte、short、char、int。 从Java 5开始,Java中引入了枚举类型,expr也可以是enum类型,从Java 7开始,expr还可以是字符串(String),但是长整型(long)在目前所有的版本中都是不可以的。 System.out.println(a == c); // true a自动拆箱成int类型再和c比较 8、 Integer f1 = 100, f2 = 100, f3 = 150, f4 -128到127之间,那么不会new新的Integer对象,而是直接引用常量池中的Integer对象,所以上面的面试题中f1==f2的结果是true,而f3==f4的结果是false。 代码编译过程: 首先java源代码--->通过jdk的javac编译--->.class文件--->在通过jvm(java虚拟机)--->编译成机器可执行的二进制机器码
前言 今天说Java模块内容:反射。 APT是一种注解处理器,可以在编译时进行扫描和处理注解,然后生成java代码文件,这种方法对比反射就能比较小的影响到程序的运行性能。 www.jianshu.com/p/3382cc765b39 https://segmentfault.com/a/1190000015860183 感谢大家的阅读,有一起学习的小伙伴可以关注下公众号—码上积木❤️ 每日一个知识点
一、java后台接受web前台传递的数组参数 前台发送: param=1,2 后台接收: @RequestParam(value = "param") String[] param @RequestParam org.apache.commons.configuration.PropertiesConfiguration; import org.apache.commons.configuration.reloading.FileChangedReloadingStrategy; import org.slf4j.Logger ; import org.slf4j.LoggerFactory; /** * Created by windwant on 2016/7/19. */ public class ConfigUtils
4、常用方法: append 添加; Insert 插入; reverse() 翻转; toString()
在传统的Java应用中,Bean的生命周期非常简单。Java的关键词new用来实例化Bean(或许他是非序列化的)。这样就够用了。相反,Bean 的生命周期在spring容器中更加细致。 (4)MySQL Hash索引在任何时候都不能避免表扫描。 java是在服务器端运行的代码,jsp在服务器的servlet里运行,而javascript和html都是在浏览器端运行的代码。所以加载执行顺序是是java>jsp>js。 所有的JSP都会在客户端发出请求后被容器转译成servlet的源代码(java),然后再将源码(java)编译成servlet的类(class),放入到内存里面。 在Java中,Synchronized就不是可中断锁,而Lock是可中断锁。
刚在网上搜索图片,也没有找到一个免费的无水印的网站,就在自己的相册找了一张图片,有什么好的图片网站,欢迎推荐哈,好了,进入正题,我们今天谈下java中需要了解的性能优化。 性能优化:如何优化? 因为对象的创建和销毁都要借助于虚拟机来实现,由于java虚拟机不仅要花时间来生成对象,当生成的对象不再使用时,以后可能还需要花时间对这些对象进行垃圾回收和处理,因此,生成过多的对象将会给程序的性能带来很大的影响 java编程过程中,进行数据库连接,文件流操作I/O流操作时要及时关闭对应的连接,在使用完毕后,及时关闭以释放资源。
4. float f = 3.4;是否正确? 答:不正确。 Test03 { public static void main(String[] args) { Integer f1 = 100, f2 = 100, f3 = 150, f4 首先需要注意的是f1、f2、f3、f4四个变量都是Integer对象引用,所以下面的==运算比较的不是值而是引用。装箱的本质是什么呢? 对于类中的关键属性,检查参数传入对象的属性是否与之相匹配;4. 编写完equals方法后,问自己它是否满足对称性、传递性、一致性;5. 重写equals时总是要重写hashCode;6. private static String[] suites = {"黑桃", "红桃", "草花", "方块"}; private static int[] faces = {1, 2, 3, 4,
java新手知识点归纳-java基础部分 一. Java的运行(基础必备) 这条可能出看很简单,java程序的运行谁不会呢? 这个知识点是最最基本的java开发者需要掌握的,初学java,第一个肯定是教你如何在命令行中执行java程序,但是很多人一旦把java学完了,IDE用上了,就把这个都忘了。 这里分为两个知识点:静态分派,方法的重载,编译时决定 动态分派,方法重写,运行时决定。 多态的特点:可替换性,灵活性,扩展性,统一编码风格。 (4)继承:继承是指从已有的类中派生新的类,新的类能够吸收已有类的数据属性和行为,并能够扩展新的功能。 特点:可扩展性,代码复用。 进程中负责程序执行的执行单元线程本身依靠程序进行运行线程是程序中的顺序控制流,只能使用分配给程序的资源和环境 2 进程:执行中的程序一个进程至少包含一个线程 3 单线程:程序中只存在一个线程,实际上主方法就是一个主线程 4
本系列文章是我在秋招复习过程中创作和整理的内容,当时的初衷也是希望能够通过写博客把这些知识点吃透,当然我也是通过阅读博客+代码实践的方式来学习的,所以也有部分文章是转载的,毕竟大牛的博客真的可以把知识点讲的很透彻 Java基础2:基本数据类型与常量池 Java基础3:深入理解String及包装类 java基础4:深入理解final关键字 Java基础5:抽象类和接口 Java基础6:代码块与代码加载顺序 Java 基础7:关于Java类和包的那些事 Java基础8:深入理解内部类 Java基础9:解读Java回调机制 Java基础10:全面解读Java异常 Java基础11:Java泛型详解 Java基础12:深入理解 机制与比较器 Java集合详解4:HashMap和HashTable Java集合详解5:深入理解LinkedHashMap和LRU缓存 Java集合详解6:TreeMap 设计模式1:创建型模式(工厂,单例等) 初探Java设计模式2:结构型模式(代理模式,适配器模式等) 初探Java设计模式3:行为型模式(策略,观察者等)初探设计模式 初探Java设计模式4:JDK中的设计模式
对上节Java的基础语法续讲 三元运算符和if语句格式的区别 语法格式: 三元运算符的语法格式是:(condition) ? 需要注意的是: expression 只能是整型、字符型(Java 7及之前版本)或枚举类型。从Java 7开始,expression 还可以是字符串类型。 下面是一个示例,演示了如何使用 switch 语句判断星期几: int day = 4; String dayName; switch (day) { case 1: dayName dayName = "Tuesday"; break; case 3: dayName = "Wednesday"; break; case 4: temMax:c; return max; } } 4 水仙花数 public class crj { public static void main(String[]
封装类缓存对象 字节型 byte 1 字节 -128~127 Byte -128~127(全部值) 短整型 short 2 字节 -32768~32767 Short -128~127 整型 int 4 4. 线程安全 String 不可变性天生具备线程安全,可以在多个线程中安全地使用。 Program Creek : Why String is immutable in Java? String s4 = "bbb"; String s5 = "bbb"; System.out.println(s4 == s5); // true 在 Java 7 之前,字符串常量池被放在运行时常量池中 4. 使用选择 使用接口: 需要让不相关的类都实现一个方法,例如不相关的类都可以实现 Compareable 接口中的 compareTo() 方法; 需要使用多重继承。 " # 参考资料 Java 基础 - 知识点 (opens new window) Java 编程思想
Java简介Java的历史与发展Java是一种广泛使用的编程语言,最初由Sun Microsystems(现为Oracle公司的一部分)于1995年发布。 Java环境搭建JDK的安装与配置要开始Java编程,首先需要安装Java Development Kit(JDK)。 JDK包含了Java编译器(javac)、Java运行时环境(JRE)、Java虚拟机(JVM)以及一系列的开发工具和库。 在项目下创建一个新的Java类,如“HelloWorld.java”。 Java基本语法变量与数据类型Java中的数据类型分为基本数据类型和引用数据类型。
分发处理器将扫描使用了该注解的类的方法,同时检测方法是否使用 @RequestMapping4. 将值放到 session 作用域,写在 Class 上面 @Valid 实体数据校验,结合 Hibernate Validator 一起使用 @CookieValue 获取 cookie 中的值 4. IoC 原理 4.1 定义 Spring 通过一个配置文件来描述 Bean 之间的相互依赖关系,利用 Java 的反射功能来实例化 Bean 并建立 Bean 之间的依赖关系。 类与实现 Java 接口。 通过反射获取注解时,返回的是 Java 运行时生成的动态代理对象。
相比import少了多次查找的过程. 4.模块分类 a.标准库(内置) 1. time 和datetime.
; import java.util.List; import java.util.function.Consumer; import java.util.stream.Stream; /** * <init>(AbstractPipeline.java:203) at java.util.stream.ReferencePipeline. <init>(ReferencePipeline.java:163) at java.util.stream.ReferencePipeline.filter(ReferencePipeline.java 跳过前三个数据 4. 限制得到前5个数据 5. 两个String类型集合字符串合并 6. 转换成Person类型 7. list4.add(list3.get(i)); } // 5.