Java
文章平均质量分 73
心神沫沫
既然没有创造知识的能力,那就当知识的搬运工吧!
本博客文章均为笔者学习过程中自行搜索查找并抱着收藏的心态进行转载的,如果无意中侵犯了您的权益,我深感抱歉并请您通过站内信联系我,我会在第一时间删除相关文章。
展开
-
Fel表达式计算引擎学习 侵删
Fel的问题Fel的问题Fel是轻量级的高效的表达式计算引擎Fel在源自于企业项目,设计目标是为了满足不断变化的功能需求和性能需求。Fel是开放的,引擎执行中的多个模块都可以扩展或替换。Fel的执行主要是通过函数实现,运算符(+、-等都是Fel函数),所有这些函数都是可以替换的,扩展函数也非常简单。Fel有双引擎,同时支持解释执行和编译执行。可以根据性能要求选择执行方式。编译执行就是将表达式编译成字节码(生成java代码和编译模块都是可以扩展和替换的)Fel有多快?通常情况...转载 2020-08-30 22:01:19 · 317 阅读 · 0 评论 -
永远不要使用双花括号初始化实例,除非你想OOM! 侵删
永远不要使用双花括号初始化实例,除非你想OOM!生活中的尴尬无处不在,有时候你只是想简单的装一把,但某些“老同志”总是在不经意之间,给你无情的一脚,踹得你简直无法呼吸。但谁让咱年轻呢?吃亏要趁早,前路会更好。喝了这口温热的鸡汤,咱们来聊聊是怎么回事。事情是这样的,在一个不大不小的项目中,小王写下了这段代码:Map<String, String> map = new HashMap() {{ put("map1", "value1"); put("map2",转载 2020-05-23 09:31:18 · 420 阅读 · 0 评论 -
Java解析JSON的利器 侵删
01、JSON 是什么JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于阅读和编写,机器解析和生成起来更是轻而易举。JSON 采用了完全独立于编程语言的文本格式,但它的格式非常符合 C 语言家族的习惯(比如 C、C++、C#、Java、JavaScript、Python 等)。 这种特质使得 JSON 成为了最理想的数据交换格式。JSON 建构...转载 2020-01-17 20:08:18 · 158 阅读 · 0 评论 -
感受lambda之美 侵删
一、引言java8最大的特性就是引入Lambda表达式,即函数式编程,可以将行为进行传递。总结就是:使用不可变值与函数,函数对不可变值进行处理,映射成另一个值。二、java重要的函数式接口1、什么是函数式接口函数接口是只有一个抽象方法的接口,用作 Lambda 表达式的类型。使用@FunctionalInterface注解修饰的类,编译器会检测该类是否只有一个抽象方法或接口,否则,...转载 2019-12-04 09:25:25 · 74 阅读 · 0 评论 -
maven-compiler-plugin 插件详解 侵删
maven是个项目管理工具,如果我们不告诉它我们的代码要使用什么样的jdk版本编译的话,它就会用maven-compiler-plugin默认的jdk版本来进行处理,这样就容易出现版本不匹配,以至于可能导致编译不通过的问题。maven的默认编译使用的jdk版本貌似很低,使用maven-compiler-plugin插件可以指定项目源码的jdk版本,编译后的jdk版本,以及编码。<...转载 2019-11-24 17:23:18 · 151 阅读 · 0 评论 -
先码后看 java内部类详解(可以与java闭包一起看) 侵立删
转自:微信公众号:java团长 说起内部类这个词,想必很多人都不陌生,但是又会觉得不熟悉。原因是平时编写代码时可能用到的场景不多,用得最多的是在有事件监听的情况下,并且即使用到也很少去总结内部类的用法。今天我们就来一探究竟。下面是本文的目录大纲: 一.内部类基础 二.深入理解内部类 三.内部类的使用场景和好处 四.常见的与内部类相关的笔试面试题 若有不正之处,请多转载 2018-01-02 09:51:30 · 142 阅读 · 0 评论 -
先码后看 模版技术概论 侵立删
作者:Teemo链接:https://zhuanlan.zhihu.com/p/31425490来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。一、起源与现状:关于Template和JSP的起源还要追述到Web开发的远古年代,那个时候的人们用CGI来开发web应用,在一个CGI程序中写HTML标签。在这之后世界开始朝不同的方向发展:su转载 2017-11-27 10:15:47 · 241 阅读 · 0 评论 -
先码后看 java多线程图解 侵立删
作者:刘成链接:https://zhuanlan.zhihu.com/p/30750306来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。Java内存模型(JMM)定义了:how and when different threads can seevalues written to shared variables by other thr转载 2017-11-06 12:53:44 · 657 阅读 · 0 评论 -
触发器,挺有用的
http://djkin.iteye.com/blog/1714323每天8:32,12:32 执行一次,启动的时候执行一次;Java代码 "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"> default-lazy-init="f转载 2015-12-30 10:07:15 · 269 阅读 · 0 评论 -
Java存储 转侵删
在JAVA中,有六个不同的地方可以存储数据: 1. 寄存器(register)。 这是最快的存储区,因为它位于不同于其他存储区的地方——处理器内部。但是寄存器的数量极其有限,所以寄存器由编译器根据需求进行分配。你不能直接控制,也不能在程序中感觉到寄存器存在的任何迹象。 ------最快的存储区, 由编译器根据需求进行分配,我们在程序中无法控制.2. 堆栈(stack转载 2017-07-02 13:05:14 · 264 阅读 · 0 评论 -
转侵删 java字符串
public class TestCase{ static String ab = "ab"; static String getA() { return "a"; } static String getAB() { return "ab"; } public static void main(Str转载 2017-07-02 12:32:29 · 305 阅读 · 0 评论 -
JDBC示例 贴的 侵立删
JDBC编程JDBC(Java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序。JDBC在实际编程中主要经历以下几步:1、加载JDBC驱动程序2、提供连接参数3、建立一个数据库的连接4、转载 2017-06-25 10:47:37 · 274 阅读 · 0 评论 -
转 侵立删 java观察者模式与事件委托
事件委托模式是一个比较常用的设计模式,但是Java语言本身没有对其做一定的封装,因此实现起来有一定难度(了解原理后很简单),相比之下.NET就容易了很多。身为一个Java爱好者,怎么向这样一个小困难低头,但是上网搜索,却没发现相关解决方案,得,自己来做一个封装吧。其实结合例子更好,那么我就用一个小例子来引出这种设计模式。一个班级,有两类学生,A类:不学习,玩,但是玩的东西不转载 2017-06-22 22:07:16 · 231 阅读 · 0 评论 -
别处贴的,侵立删 java深拷贝
Java中对象的创建clone顾名思义就是复制, 在Java语言中, clone方法被对象调用,所以会复制对象。所谓的复制对象,首先要分配一个和源对象同样大小的空间,在这个空间中创建一个新的对象。那么在java语言中,有几种方式可以创建对象呢?1 使用new操作符创建一个对象2 使用clone方法复制一个对象那么这两种方式有什么相同和不同呢? new操作符的转载 2017-06-15 17:11:53 · 238 阅读 · 0 评论 -
java的东西,侵删
1 String str1 = new String("hello");2 String str2 = new String("hello");3 4 System.out.println(str1==str2);5 System.out.println(str1.equals(str2)); 为什么第4行和第5行的输出结果不一样?==和equals方法之间的转载 2017-04-12 20:21:22 · 242 阅读 · 0 评论 -
java异常处理
别处贴的,侵立删try-catch和throw,throws的区别java里的异常多种多样,这是一种非常有用的机制,它能帮助我们处理那些我们未知的错误,在java里,关于异常的有throw throws,还有一个try catch 程序块。接下来我们挨个看看这几个的作用。1.throwthrow 就是抛出一个异常,并获取这个异常的引用,这个异常会转载 2017-03-27 09:34:08 · 426 阅读 · 0 评论 -
java synchronized关键字
一、当两个并发线程访问同一个对象object中的这个synchronized(this)同步代码块时,一个时间内只能有一个线程得到执行。另一个线程必须等待当前线程执行完这个代码块以后才能执行该代码块。 二、然而,当一个线程访问object的一个synchronized(this)同步代码块时,另一个线程仍然可以访问该object中的非synchronized(this)同步代码块。转载 2016-11-21 09:28:10 · 185 阅读 · 0 评论 -
关于Maven报错的一些解决办法(别处贴的)
1、警告:The tag handler class for "s:form"(org.apache.struts2.views.jsp.ui.FormTag) was not found on the Java Build Path这个问题终于可以解决了,在出问题的页面 标签前后删除空格后保存文件警告即可消失,即为改行的起始,然后保存。 2、Eclipse下Java compi转载 2016-08-17 18:06:04 · 13812 阅读 · 0 评论 -
win7 下SonarQube服务启动失败
转自:http://qualilogy.com/en/migrate-sonarqube-tomcat-to-windows-service/ps:stack overflow 简直是程序员的神器I can launch this service, either with a ‘Start’ from this service, either executing the corre转载 2016-06-16 09:24:45 · 2637 阅读 · 0 评论 -
先码后看 java的volatile关键字 侵立删
Java并发编程:volatile关键字解析 volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java 5之后,volatile关键字才得以重获生机。 volatile关键字虽然从字面上理解起来比较简单,但是要用好不是一件容易的事情。由于volatile关键字是与Java的内存模转载 2017-09-25 15:24:19 · 282 阅读 · 0 评论 -
先码后看 红黑树 侵立删
转自https://github.com/CarpenterLee/JCFInternals/blob/master/markdown/5-TreeSet%20and%20TreeMap.mdTreeSet and TreeMap总体介绍之所以把TreeSet和TreeMap放在一起讲解,是因为二者在Java里有着相同的实现,前者仅仅是对后者做了一层包装,也就是说TreeS转载 2017-09-05 12:28:20 · 249 阅读 · 0 评论 -
先码后看 java IO系统继承结构图 侵立删
什么是IO流Java的IO流是实现输入/输出的基础,它可以方便的实现数据的输入/输出,在Java中把不同的输入/输出源(键盘、文件、网络连接等)抽象表述为流Java IO体系层次结构File:用于文件或者目录的描述信息,例如生成新目录,修改文件名,删除文件,判断文件所在路径等。InputStream:抽象类、基于字节的输入操作、是所有输入流的父类、定义了所有输入流都转载 2017-09-03 13:27:43 · 212 阅读 · 0 评论 -
先码后看 java闭包 侵立删
JAVA闭包一、闭包的定义。 有很多不同的人都对闭包过进行了定义,这里收集了一些。 # 是引用了自由变量的函数。这个函数通常被定义在另一个外部函数中,并且引用了外部函数中的变量。 -- wikipedia>> # 是一个可调用的对象,它记录了一些信息,这些信息来自于创建它的作用域。-- > # 是一个匿名的代码块,可以接受参数,并返回一个返回值,也可以引转载 2017-09-01 11:27:14 · 217 阅读 · 0 评论 -
先码后看 java闭包相关 侵立删
一个谜团如果你用过类似guava这种“伪函数式编程”风格的library的话,那下面这种风格的代码对你来说应该不陌生:123456789public void tryUsingGuava() { final int expectedLength = 4; Iterables.filter(Lists.newArray转载 2017-08-31 23:05:20 · 211 阅读 · 0 评论 -
先码后看 java闭包 侵立删
喜欢看生肉的同学就不用看我的回答了,直接看R大的三篇回答,尤其是第一篇后面的回复部分。我只是试着用大白话做个简单的整理,希望能更容易理解一点。关于对象与闭包的关系的一个有趣小故事 (这篇的精华在后面的回复,小故事可以跳过)JVM的规范中允许编程语言语义中创建闭包(closure)吗? - RednaxelaFX 的回答为什么Java闭包不能通过返回值之外的方式向外传递值转载 2017-08-31 22:44:24 · 300 阅读 · 0 评论 -
先码后看 Collection的sort方法 侵立删
Java中如果需要对一个collections排序,需要继承于Comparable或者comparator接口,那么使用的排序算法是什么呢,一般情况下,排序算法包括:插入排序、快速排序、合并排序、冒泡排序等,java的Collections.sort算法调用的是合并排序,它是稳定排序,当数据接近有序的时候,效率更高,collections中的数据在排序前需要输入到array中,接着调用Arrays转载 2017-08-29 09:49:22 · 346 阅读 · 0 评论 -
先码后看 接前一篇jdk各版本变化详解 侵立删
JDK各个版本的新特性 对于很多刚接触java语言的初学者来说,要了解一门语言,最好的方式就是要能从基础的版本进行了解,升级的过程,以及升级的新特性,这样才能循序渐进的学好一门语言。今天先为大家介绍一下JDK1.5版本到JDK1.7版本的特性。希望能给予帮助。JDK1.5新特性: 1.自动装箱与拆箱:自动装箱的过程:每当需要一种类型的对象时,这种基本类型就转载 2017-08-28 19:39:37 · 514 阅读 · 0 评论 -
转的 侵立删 java版本迭代
转自:http://www.importnew.com/844.html一个比较流行的问题是,“Java下一个版本会有什么特性呢?” 。这是否是个好问题却有待商榷。在下面的内容里,我总结了至今为止的Java主要发行版中各自引入的新特性,这样做的目的是为了突出各个新特性是在哪个发行版中引入的。除了列出的特性外,每个发行版还做了很多优化和修复BUG的工作。Java SE 8Ja转载 2017-08-23 10:02:05 · 227 阅读 · 0 评论 -
转的 侵立删 java内存模型
Java内存模型即Java Memory Model,简称JMM。JMM定义了Java 虚拟机(JVM)在计算机内存(RAM)中的工作方式。JVM是整个计算机虚拟模型,所以JMM是隶属于JVM的。如果我们要想深入了解Java并发编程,就要先理解好Java内存模型。Java内存模型定义了多线程之间共享变量的可见性以及如何在需要的时候对共享变量进行同步。原始的Java内存模型效率并不是很理转载 2017-08-18 15:16:33 · 151 阅读 · 0 评论 -
转的 侵立删 java 线程栈模型
使用java.lang.Thread类或者java.lang.Runnable接口编写代码来定义、实例化和启动新线程。一个Thread类实例只是一个对象,像Java中的任何其他对象一样,具有变量和方法,生死于堆上。Java中,每个线程都有一个调用栈,即使不在程序中创建任何新的线程,线程也在后台运行着。一个Java应用总是从main()方法开始运行,main()方法运行在一个线程内,它被转载 2017-08-18 14:19:06 · 194 阅读 · 0 评论 -
转的 侵立删 java内存模型
1. 概述 多任务和高并发是衡量一台计算机处理器的能力重要指标之一。一般衡量一个服务器性能的高低好坏,使用每秒事务处理数(Transactions Per Second,TPS)这个指标比较能说明问题,它代表着一秒内服务器平均能响应的请求数,而TPS值与程序的并发能力有着非常密切的关系。在讨论Java内存模型和线程之前,先简单介绍一下硬件的效率与一致性。2.硬件的效率与一致性转载 2017-08-18 13:48:00 · 182 阅读 · 0 评论 -
Object的wait()、notify、notify 侵立删
http://blog.csdn.net/lingzhm1)wait()、notify()和notifyAll()方法是本地方法,并且为final方法,无法被重写。 2)调用某个对象的wait()方法能让当前线程阻塞,并且当前线程必须拥有此对象的monitor(即锁,或者叫管程) 3)调用某个对象的notify()方法能够唤醒一个正在等待这个对象的mon转载 2017-08-11 14:51:04 · 131 阅读 · 0 评论 -
贴的 java类加载机制 侵删
1 基本信息 每个开发人员对Java.lang.ClassNotFoundExcetpion这个异常肯定都不陌生,这背后就涉及到了java技术体系中的类加载。Java的类加载机制是技术体系中比较核心的部分,虽然和大部分开发人员直接打交道不多,但是对其背后的机理有一定理解有助于排查程序中出现的类加载失败等技术问题,对理解java虚拟机的连接模型和java语言的动态性都有很大帮助转载 2017-07-20 11:00:15 · 223 阅读 · 0 评论 -
贴的 java只有值传递,没有引用传递 有图 侵删
Java中只有按值传递,没有按引用传递!(两种参数情况下都是值传递)今天,我在一本面试书上看到了关于java的一个参数传递的问题:写道java中对象作为参数传递给一个方法,到底是值传递,还是引用传递? 我毫无疑问的回答:“引用传递!”,并且还觉得自己对java的这一特性很是熟悉!结果发现,我错了!答案是:值传递!Java中只有按值传递,没有按引用传递!转载 2017-07-18 20:48:00 · 191 阅读 · 0 评论 -
贴的 return与finally共存的情况 侵删
网上有很多人探讨Java中异常捕获机制try...catch...finally块中的finally语句是不是一定会被执行?很多人都说不是,当然他们的回答是正确的,经过我试验,至少有两种情况下finally语句是不会被执行的:(1)try语句没有被执行到,如在try语句之前就返回了,这样finally语句就不会执行,这也说明了finally语句被执行的必要而非充分条件是:相应的try语句一转载 2017-07-18 18:58:46 · 177 阅读 · 0 评论 -
贴的 java继承 侵删
继承的基本实现类的继承格式在java中使用extends关键字完成类的继承关系,操作格式如下:class 父类{}class 子类 extends 父类{}继承父类的功能,扩展子类的所有功能。[java] view plain copy print?class Person{ private String转载 2017-07-18 14:08:12 · 283 阅读 · 0 评论 -
先码后看 HashMap底层 转侵删
作者:清浅池塘链接:https://zhuanlan.zhihu.com/p/28587782来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。公众号:saysayJava,敬请支持。上一篇文章我们介绍了HashMap的底层实现,但还遗留了一点内容,我们再回顾一下上一篇文章里说的内容执行完红框里的代码,personMap里放入了8个元转载 2017-08-30 13:57:14 · 376 阅读 · 0 评论 -
先码后看 Class对象(Java类型信息)与反射机制,超详细 侵立删
转自:http://blog.csdn.net/javazejian/article/details/70768369关联文章:深入理解Java类型信息(Class对象)与反射机制深入理解Java枚举类型(enum)深入理解Java注解类型(@Annotation)深入理解Java并发之synchronized实现原理深入理解Ja转载 2018-02-01 21:29:07 · 151 阅读 · 0 评论 -
先码后看 为什么i=i++后i的值不变?很有意思 侵立删
链接:https://www.zhihu.com/question/22448065/answer/31719259 环境JDK1.6编译结果:public static void main(java.lang.String[] arg0); 0 iconst_1 //常量int类型1入栈 1 istore_1 //弹出栈顶元素(常量int 1)存入位置为1的局部变量(转载 2018-01-27 21:56:58 · 958 阅读 · 0 评论 -
先码后看 JDK源码解析——ThreadLocal 侵立删
转自:http://blog.csdn.net/wenniuwuren/article/details/62892224零. 简介这个类提供本地线程变量。不同于一般的变量,这些变量在他们各自的线程里通过 get、set 访问一个它自己的变量,这是一个独立初始化的变量副本。在一个类中,ThreadLocal 实例一般是 private static 的,期望和一个线程关联状态(如 u转载 2018-01-28 19:24:59 · 158 阅读 · 0 评论