
java
youz1976
天天向上
展开
-
Java JIT
JIT 简介JIT 是 just in time 的缩写, 也就是即时编译编译器。使用即时编译器技术,能够加速 Java 程序的执行速度。下面,就对该编译器技术做个简单的讲解。首先,我们大家都知道,通常通过 javac 将程序源代码编译,转换成 java 字节码,JVM 通过解释字节码将其翻译成对应的机器指令,逐条读入,逐条解释翻译。很显然,经过解释执行,其执行速度必然会比可执行的二进制字......原创 2022-06-30 23:26:33 · 266 阅读 · 0 评论 -
安卓Dalvik VM虚拟机
1、谷歌开发的,应用于Android系统,并在Android2.2中提供了JIT,发展迅猛2、DalvikVM只能称作虚拟机,不能称作“Java虚拟机”,它没有遵循Java虚拟机规范3、不能直接执行Java的class文件4、基于寄存器架构,不是jvm的栈架构。5、执行的是编译以后的dex(DalvikExecutable)文件。执行效率比较高。 它执行的dex(DalvikExecutable)文件可以通过class文件转化而来,使用Java语法编写应用程...原创 2022-02-28 22:04:37 · 3125 阅读 · 1 评论 -
json 注意事项
JSON的值只能是以下几种数据格式,其他任何格式都会触发报错,例如 JavaScript 中的 undefined。数字,包含浮点数和整数 字符串,需要包裹在双引号中 Bool值,true 或者 false 数组,需要包裹在方括号中 [] 对象,需要包裹在大括号中 {} Null还需要注意的是 JSON 文件中无法使用注释,试图添加注释将会引发报错。...原创 2021-12-30 21:26:03 · 298 阅读 · 0 评论 -
Spring事务失效的8个原因
1、MySQL数据库MyISAM不支持事务,代码层面做再多也无用。2、注解@Transactional作用在非public方法上。3、注解@Transactional作用在public方法上,但是该类没有被spring管理,比如没有在类上加注解@Service4、注解@Transactional作用在public方法A上,方法B没有被注解@Transactional作用,方法B调用方法A,controller层调用方法B。(原因是在同一个类之中,方法互相调用,切面无效 ,而...原创 2021-02-24 00:08:05 · 219 阅读 · 0 评论 -
单精度和双精度
贴图:引用:知乎小数用二进制如何表示原创 2021-01-31 21:05:54 · 506 阅读 · 0 评论 -
HashMap jdk1.7
HashMap jdk1.7HashMap数据结构源码分析成员属性构造函数put扩容总结HashMapHashMap基于哈希表的Map接口实现。这个实现提供了所有可选的映射操作,并允许null值和null键。(HashMap类大致相当于Hashtable,只是它unsynchronized并且允许空值。)这个类不保证映射的顺序;特别是,它不保证随着时间的推移顺序保持不变。数据结构 jdk1.7的HashMap采用数组+单链表实现。数组中是一个个Entry对象jdk1.8采用数组+链表+红黑树来原创 2020-12-31 23:28:37 · 177 阅读 · 0 评论 -
将pdf转成图片时,文字没法显示
背景:系统在Windows系统正常的将pdf转成了图片,但是在centos系统上,文字没法显示。问题所在:centos系统上缺少字体。解决方案:1、将字体从Windows上上传至centos。(c盘下载,rz命令)2、代码层面 /** * 获取中文字体位置 * @return */ private static String getChineseFont(){ //宋体(对应css中的 属性 font-family: SimSun; /*宋体*/) Stri.原创 2020-09-28 23:01:42 · 2467 阅读 · 0 评论 -
Spring5 思维导图
Spring中propagation的7种事务配置https://blog.youkuaiyun.com/sayoko06/article/details/79164858事务的4种隔离级别(Isolation Level)分别是什么?http://blog.itpub.net/26736162/viewspace-2638951/https://www.cnblogs.com/zhaoyibing/p/9558960.htmlhttps://baijiahao.baidu.com/s?i...原创 2020-08-16 21:53:29 · 320 阅读 · 0 评论 -
ArrayList.toArray()返回的不是真实的动态数组
1、ArrayList真实的动态 数组为transient Object[] elementData;下面是ArrayList.toArray()的函数,返回的是一个新的数组,该数组包含了这个集合里的内容 /** * Returns an array containing all of the elements in this list * in proper sequence (from first to last element). * ...原创 2020-06-07 22:39:55 · 364 阅读 · 0 评论 -
java本地方法 hashcode是怎样生成的?hashcode与地址有关系吗?
1、java Obeject类中的hashcode函数/**返回一个对象的散列码,这个方法有利于哈希表,例如HashMapReturns a hash code value for the object. This method is supported for the benefit of hash tables such as those provided by java.util.HashMap. */ public native int hashCode();2、hashco原创 2020-05-24 23:23:17 · 3275 阅读 · 0 评论 -
java的引用和c++的引用
java 简单数据类型(基本数据类型及其包装类)的引用public static void main(String[] args) { int a1 =10,b1=20; swap1(a1,b1); System.out.println("a1:"+a1+";b1:"+b1);//a1:10;b1:20 Integer a2 =10,b2=20; swap1(a2,...原创 2020-04-29 21:18:49 · 2360 阅读 · 0 评论 -
nexus 3下载与在centos安装
https://sonatype-download.global.ssl.fastly.net/repository/repositoryManager/3/nexus-3.21.1-01-unix.tar.gz原创 2020-03-15 00:11:26 · 2033 阅读 · 0 评论 -
java 构造函数和c++的构造函数
java中A a;//该语句在Java中不会调用A的无参构造函数。A b = new A();//该语句在Java中会调用A的无参构造函数。C++中A a;//该语句在C++中会调用A的无参构造函数。A a(5,6);//该语句在C++中会调用A的有参构造函数。A *b = new A();//该语句在C++中会调用A的无参构造函数。...原创 2020-02-14 21:24:31 · 546 阅读 · 0 评论 -
正向代理,反向代理;java的动态代理,静态代理
一、1、正向代理(forward proxy):正向代理是一个位于客户端和目标服务器之间的代理服务器(中间服务器)。作用:a、突破访问限制通过代理服务器,可以突破自身IP访问限制,访问国外网站,教育网等。b、提高访问速度通常代理服务器都设置一个较大的硬盘缓冲区,会将部分请求的响应保存到缓冲区中,当其他用户再访问相同的信息时, 则直接由缓冲区中取出信息,传给用户,以提高访问...原创 2019-12-31 20:36:49 · 564 阅读 · 0 评论 -
更换二级域名,ip没变,sessionid已变
1、业务场景:云服务上有一个springboot的web工程,有一个nginx,nginx代理了两个二级域名a和b,这两个二级域名都指向这个springboot的web工程。用a登录了系统,这时把浏览器地址改成b,需要重新登录。2、为什么?session是通过sessionid来辨识的,而sessionid是存储在cookie里面的,cookie的传递是和域名关联的,域名变了,c...原创 2019-10-28 19:25:11 · 691 阅读 · 0 评论 -
HttpServletRequest request获取请求url等信息
ServletRequestAttributes requestAttributes = (ServletRequestAttributes) RequestContextHolder .getRequestAttributes(); HttpServletRequest request = null; if (null != requestAttributes) { ...原创 2019-10-24 16:48:50 · 2380 阅读 · 0 评论 -
poi 同时 冻结第一行和第一列
HSSFSheet sheet2=createSheet(wb, "*****表"); // 同时冻结第一行 和 冻结第一列 sheet2.createFreezePane( 1, 1, 1, 1 ); // 只冻结第一行 //sheet2.createFreezePane( 0, 1, 0, 1 ); ...原创 2019-09-19 12:03:48 · 4208 阅读 · 0 评论 -
java HSSFWorkbook excel下拉框
效果图代码:import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import java.text.SimpleDateFormat;import java.util.Arrays;import java.util.Date;import java.uti...原创 2019-09-05 19:36:03 · 3536 阅读 · 1 评论 -
spring java将一个网页链接转化为html字符串并当作一个页面返回给浏览器
导入依赖<dependency> <groupId>org.jsoup</groupId> <artifactId>jsoup</artifactId> <version>1.10.3</version> </dependency>...原创 2019-09-03 20:03:06 · 3767 阅读 · 0 评论 -
thymeleaf th:value拼接
<input type="hidden" th:value="${#dates.format(new java.util.Date().getTime(), 'yyyy-MM-dd')}+'**列表'"/> 参考:https://blog.youkuaiyun.com/qq_30725371/article/details/80108713https://blog.csdn....原创 2019-08-03 12:08:35 · 3861 阅读 · 0 评论 -
javaEE 开源框架,有些已闭源
1、若依项目演示http://ruoyi.club/login2、pig项目演示https://preview.pig4cloud.com/#/login3、JeeSite项目开源(需要自己部署),JeeSite4非开源JeeSite4项目演示http://demo.jeesite.com/js/a/login4、guns项目演示(非开源)https...原创 2019-05-14 17:16:11 · 798 阅读 · 0 评论 -
编译性语言和解释性语言的区别
计算机不能直接理解任何除机器语言以外的语言,所以必须要把程序员所写的程序语言翻译成机器语言,计算机才能执行程序。将其他语言翻译成机器语言的工具,被称为编译器。编译器翻译的方式有两种:一个是编译,一个是解释。两种方式之间的区别在于翻译时间点的不同。当编译器以解释方式运行的时候,也称之为解释器。解释性语言编写的程序不进行预先编译,以文本方式存储程序代码。在发布程序时,看起来省了道编译工序...转载 2019-04-29 21:20:02 · 869 阅读 · 0 评论 -
JVM、Java编译器和Java解释器
维基百科定义:JVM:一种能够运行Java字节码(Java bytecode)的虚拟机。字节码:字节码是已经经过编译,但与特定机器码无关,需要解释器转译后才能成为机器码的中间代码。Java字节码:是Java虚拟机执行的一种指令格式。解释器:是一种电脑程序,能够把高级编程语言一行一行直接翻译运行。解释器不会一次把整个程序翻译出来,只像一位“中间人”,每次运行程序时都要先转成另一...转载 2019-04-29 21:19:24 · 305 阅读 · 0 评论 -
HashMap原始方法tableSizeFor解析
通过tableSizeFor(cap)计算出不小于initialCapacity的最近的2的幂作为初始容量,将其先保存在threshold里/** * Returns a power of two size for the given target capacity. */ static final int tableSizeFor(int cap) { ...原创 2019-03-05 10:15:16 · 408 阅读 · 0 评论 -
centos7.2 下crontab定时java程序
背景:写好shell文件后,执行shell文件成功,但是放到定时器crontab却定时失败。 1、crontab定时java程序与其他程序类似,需要注意在sh文件中应该这样写nohup /usr/java/jdk1.8.0_171/bin/java -jar Spider.jar注意:java写全路径 ...原创 2019-02-17 20:11:51 · 702 阅读 · 0 评论 -
No bean named 'transactionManager' available: No matching PlatformTransactionManager bean found for
1、问题:No bean named 'transactionManager' available: No matching PlatformTransactionManager bean found for qualifier 'transactionManager' - neither qualifier match nor bean name match! at org.spri...原创 2018-12-01 11:15:54 · 12018 阅读 · 0 评论 -
What is the difference between M2_HOME and MAVEN_HOME
MAVEN_HOME is for Maven 1, M2_HOME is for Maven 2 and later.原创 2018-03-05 10:26:23 · 1408 阅读 · 0 评论 -
微信公众号--设备功能----微信硬件数据上传
微信公众号--设备功能----微信硬件数据上传原创 2018-02-09 16:48:47 · 3347 阅读 · 2 评论 -
java json处理
java json处理1、所需jar包2、代码package com.py.json;import net.sf.json.JSONArray;import net.sf.json.JSONObject;/** * @author: py * @version:2018年1月24日 下午3:56:07 * com.py.json.JsonMain.jav原创 2018-01-24 16:30:53 · 223 阅读 · 0 评论 -
mybatis 数据库配置
1、简单配置如下 <property name="url" value="jdbc:mysql://****:3306/largehealthyupload?useUnicode=true&characterEncoding=utf8&characterSetResults=utf8"/>原创 2017-11-01 19:32:01 · 5825 阅读 · 0 评论 -
阿里云发送短信验证码
1、之前文章地址:http://blog.youkuaiyun.com/u014520797/article/details/71171880#comments阿里云短信验证码改了几次,如果之前2篇文章没有解决你的疑问,请看这篇最新2、最新的代码很简单,如下package com.kp.test;import com.aliyuncs.DefaultAcsClient;imp原创 2017-10-10 19:08:38 · 2732 阅读 · 1 评论 -
canvas 旋转中心点
ctx.translate();ctx.rotate();2、代码Your browser does not support the HTML5 canvas tag.var c=document.getElementById("myCanvas");var ctx = c.getContext('2d');var x = 100,原创 2017-09-05 20:11:28 · 4068 阅读 · 0 评论 -
js在手机端如何用脚本调用弹出键盘?
js在手机端如何用脚本调用弹出键盘?鍵盤只能靠使用者行為觸發,不能通過腳本觸發,測試過 ios 和 android 確實是如此。而所謂的使用者行為只可以通過綁定事件觸發比如:input type="text" id="send-content">button id="send-chat">Clickbutton>$("#send-c原创 2017-09-04 20:06:33 · 19612 阅读 · 1 评论 -
java 16进制字符串 转 byte[] 转文件 文件 转byte[] 转16进制字符串
1、16进制字符串 转 byte[]public static byte[] hexStringToBytes(String hexString) { if (hexString == null || hexString.equals("")) { return null; } hexString = hexStrin原创 2017-08-14 21:11:50 · 3735 阅读 · 0 评论 -
java volatile并发误区
1、用volatile修饰的变量,线程在每次使用变量的时候,都会读取变量修改后的最的值。volatile很容易被误用,用来进行原子性操作。2、代码如下,count变量没有volatile 修饰时,输出结果为966(每次结果不一定都为966,也可能是956,982.......)package com.py.volatile_;/** * @author: py * @ver原创 2017-07-17 15:14:59 · 584 阅读 · 1 评论 -
数据库中存储日期的字段类型到底应该用varchar还是datetime
数据库中存储日期的字段类型到底应该用varchar还是datetime ?这两种方法各有优势,datetime可以借用sql函数库中运算函数,增加了时间在各种运算上的效率;而varchar类型则可以在字符编码上显出优势。在 存储的时间将来不需要进行大量计算 的前提下,可以考虑选择varchar类型,反之,选择datetime类型。原创 2017-06-30 20:38:21 · 4400 阅读 · 0 评论 -
查询mysql 中某字段为空值的数据
1、什么是mysql中的空值,如下图所示2、怎么查询呢?需要用到is null 和is not null下面是例子,不过只sql修改,如图所示结果为update t_wxuser a set a.updatetime=a.subscribe_time where a.updatetime IS NULL3、原创 2017-05-23 15:29:40 · 142038 阅读 · 8 评论 -
阿里云---新的短信服务(整合到消息服务MNS后)
1、阿里云短信服务已经整合到消息服务MNS中了,需要使用MNS的sdk来发送短信。2、新的sdk地址JAVA SDK:https://help.aliyun.com/document_detail/51063.htmlPython SDK:https://help.aliyun.com/document_detail/51372.htmlC# SDK:htt原创 2017-05-04 16:49:45 · 12750 阅读 · 14 评论 -
c标签split
1、场景:比如数据库图片表中,某字段保存着个多个图片的地址并用@隔离,但是在到达前段页面时仍然没有分割处理,那么只能在前端页面做分割处理了,下面以jsp为例。原创 2017-04-03 15:57:29 · 1975 阅读 · 0 评论 -
[Err] 1267 - Illegal mix of collations (utf8_general_ci,IMPLICIT) and (utf8_unicode_ci,IMPLICIT) for
1、MySQL进行字符串比较时发生错误select a.EVENT, a.TOUSERNAME, a.FROMUSERNAME, a.FROMNICKNAME, a.EVENTKEY, a.MSGTYPE, a.CONTENT, a.INSERTTIME, b.HEADIMGURL from原创 2017-03-28 11:23:37 · 1813 阅读 · 0 评论