![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
文章平均质量分 65
李一
简单点
展开
-
JS获取EL表达式的值
for循环遍历List 因此id为变量。无法直接或许: ${yppctp.tpui}" alt="" id="coll${j.index}" name="img123" onclick="img('coll${j.index}')" > ${yppctp.tpnr} js代码:function img(textid){ var id11 = tex原创 2015-11-04 21:33:05 · 2279 阅读 · 0 评论 -
jvm 早期优化与晚期优化
jvm除了对内存进行清楚还会再编译期(早期)以及运行期(晚期)进行一些优化处理,这篇文章就简单编写一下我理解到得编译期与运行期jvm帮我们做了那些优化处理。该文由于个人水平有限,理解不够深刻。所以有些可能重要的点,我并不理解就没有编写。如果要深入学习可以百度学习其他文章。编译过程大致可以分为3个过程: 1、解析与填充符号表过程。 (不清楚具体操作与优化,后期学习补充) 2、插入...原创 2018-12-24 16:42:13 · 186 阅读 · 0 评论 -
java垃圾回收机制
本文是针对个人感觉总要与否进行编写,某些常见,易懂的部分我会简单描述。不建议初次了解读本篇文章,本文适合巩固学习。如何判定对象是否已死引用计数算法:给对象一个引用计数器,当有地方引用计数器加一,一个引用失效计数器减一;计数器为0的对象可被清除。(缺点:互相引用时,计数器都为1时,对象已经不会在被使用,但并不会被消除)可达性分析算法:通过一系列成为“GC Roots”的对象作为起点,从...原创 2018-12-11 20:16:42 · 158 阅读 · 0 评论 -
java内存分区
java内存分区程序计数器:是一块较小的内存空间,可以看作当前线程所执行的字节码的行号指示器。(线程私有,不存在异常抛出)Java虚拟机栈:生命周期跟线程相同,每个方法在执行的同时都会创建一个栈帧用于存储局部变量表、操作数栈、方法出口等信息。每个方法从调用知道执行完的过程,对应着在虚拟机栈中入栈到出栈的过程。线程私有,定义大量本地变量或者减小栈内存空间会抛出StackOve...原创 2018-12-04 17:37:13 · 249 阅读 · 0 评论 -
CAS(Compare and Swap)无锁算法 与 ConcurrentLinkedQueue 队列
了解CAS 我们就先了解一下乐观锁与悲观锁:独占锁是一种悲观锁,synchronized就是一种独占锁,它假设最坏的情况,并且只有在确保其它线程不会造成干扰的情况下执行,会导致其它所有需要锁的线程挂起,等待持有锁的线程释放锁。而另一个更加有效的锁就是乐观锁。所谓乐观锁就是,每次不加锁而是假设没有冲突而去完成某项操作,如果因为冲突失败就重试,直到成功为止。CAS就是乐观锁运用到的策略。原创 2018-01-19 13:36:19 · 257 阅读 · 0 评论 -
结合“锁”性能学习并发集合
“锁”的竞争必然会导致程序性能急剧下降,常见的提高“锁”性能有以下一些建议。我们根据“锁”的优化来顺便学习一下并发集合(java.util.concurrent包下的部分集合类)1.减少锁粒度所谓减少锁粒度,就是指缩小锁定对象的范围,从而减少锁冲突的可能性,进而提高系统的并发能力。我们来了解一下ConcurrentHashMap 类怎么实现减小锁粒度的: 通过分析Ha原创 2018-01-16 15:10:08 · 338 阅读 · 0 评论 -
线程池学习理解
1.线程池是什么为了避免系统频繁地创建和销毁线程,我们可以让创建的线程进行复用。如果大家进行过数据库开发,对数据库连接池应该不会陌生。为了避免每次数据库查询都重新建立和销毁数据库连接,我们可以使用数据库连接池维护一些数据库连接,让他们长期保持在一个激活状态。当系统需要使用数据库时,并不是创建一个新的连接,而是从连接池中获得一个可用的连接即可。反之,当需要关闭连接时,并不真的把连接关闭,而是将这...原创 2018-01-05 14:19:54 · 188 阅读 · 0 评论 -
极光推送服务端实现
因为暂时开发自有对单一用户不同设备进行信息推送。 因此就简单实现了两个接口,可能后期项目完善会增加一些其他接口也不会太难。 极光推送已经把接口编写的简单至极,一个简单的例子就可以实现。但是会有很多参数有他不同的含义,可以参照:极光推送接口文档 接口代码:public interface PushPortal { /** * 推送所有平台所有用户 * @return原创 2017-09-09 10:31:48 · 3729 阅读 · 0 评论 -
类之间关系
原文地址:http://blog.csdn.net/zhengzhb/article/details/7187278转载只为方便个人查看。类与类之间主要有6种关系,他们分别是:依赖、关联、聚合、组合、继承、实现。他们的耦合度依次增强。 1.依赖(Dependence) 依赖关系的定义为:对于两个相对独立的对象,当一个对象负责构造另一个对象的实例,或者依赖另一个对象的服务时,这两个对象之间转载 2017-09-14 16:37:50 · 293 阅读 · 0 评论 -
fibonacci数列四种不同解法思路。
很久在学校的时候看一个人微软的讲面试讲到斐波拉契数列。当初也没做太深的研究只记得可以求出一个通项公式。最近无聊翻出来研究下。第一种:递归(最简单,最low)时间复杂度O(n2)这里就不做大数处理了。超过50跑起来时间就超过了我的忍耐了。 private int fib(int i) { if(i==0) return 0; els原创 2017-04-02 11:28:52 · 406 阅读 · 0 评论 -
二分查找与快排算法
最近公司比较闲,想起进公司面试题,一个简单的排序。但是当时只写出了优化后的冒泡。尝试快排失败。实现low。这两个都是用到分治的思想很容易搞混。还有一个叫二分排序的,其实就是快排的核心,二分查找和快速排序属于面试笔试的高频问题就总结一下。毕业面试可以看下。 binarySearch(二分排序)有两种实现方式,一种是递归,一种是循环。(其实之前我只知道递归并未想到可以循环,确实略屌,也不难理解原创 2017-03-22 11:32:20 · 1979 阅读 · 0 评论 -
Java的位运算符详解实例——与(&)、非(~)、或(|)、异或(^)
原帖地址:http://blog.csdn.net/vebasan/article/details/6193916位运算符主要针对二进制,它包括了:“与”、“非”、“或”、“异或”。从表面上看似乎有点像逻辑运算符,但逻辑运算符是针对两个关系运算符来进行逻辑运算,而位运算符主要针对两个二进制数的位进行逻辑运算。下面详细介绍每个位运算符。 1.与运算符与运算符用符号“&转载 2017-03-27 20:31:18 · 210 阅读 · 0 评论 -
BigDecimal 的那些坑事儿
原文地址:http://blog.csdn.net/ugg/article/details/8213666最近查看rebate数据时,发现一个bug,主要现象是,当扣款支付宝的账号款项时,返回的是数字的金额为元,而数据库把金额存储为分,这中间要做元与分的转化,这个转化规则很简单,就是*100的,所以一开始代码很简单,如下。[java] view pl转载 2017-02-17 16:32:24 · 1215 阅读 · 0 评论 -
java实现二维码生成
package com.qrcode.create; import java.awt.Color; import java.awt.Graphics2D; import java.awt.Image; import java.awt.image.BufferedImage; import java.io.File;转载 2016-03-15 14:59:36 · 315 阅读 · 0 评论 -
卫语句等方式简化条件表达式
在阿里巴巴Java开发手册中建议优化如下:在《重构 改善既有代码的设计》描述如下:我之前设计模式相关博客中有介绍策略模式以及状态模式:策略模式与状态模式接下来我们简单介绍下卫语句常见优化后效果如果在项目中复杂逻辑的情况下,卫语句会使代码更加清晰、简略。...原创 2019-04-09 16:07:41 · 501 阅读 · 0 评论