java
文章平均质量分 79
雪飘雪融
软件开发菜鸟一个,请多多指教。
展开
-
用Calendar实现简单的小日历
package cn.lfd.test;import java.text.DateFormat;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.*;/** *可视化日历 */public class VisualCalendar { public static v原创 2016-07-21 09:41:07 · 1109 阅读 · 0 评论 -
JVM内存结构--新生代及新生代里的两个Survivor区(下一轮S0与S1交换角色,如此循环往复)、常见调优参数
转自http://www.cnblogs.com/duanxz/p/6076662.html 一、为什么会有年轻代 我们先来屡屡,为什么需要把堆分代?不分代不能完成他所做的事情么?其实不分代完全可以,分代的唯一理由就是优化GC性能。你先想想,如果没有分代,那我们所有的对象都在一块,GC的时候我们要找到哪些对象没用,这样就会对堆的所有区域进行扫描。而我们的很多对象都是朝生夕死的,...转载 2018-10-09 15:26:42 · 396 阅读 · 0 评论 -
匿名/局部内部类访问局部变量时,为什么局部变量必须加final
我们都知道方法中的匿名/局部内部类是能够访问同一个方法中的局部变量的,但是为什么局部变量要加上一个final呢?首先我们来研究一下变量生命周期的问题,局部变量的生命周期是当该方法被调用时在栈中被创建,当方法调用结束时(执行完毕),退栈,这些局部变量就会死亡。但是内部类对象是创建在堆中的,其生命周期跟其它类一样,只有当jvm用可达性分析法发现这个对象通过GCRoots节点已经不可达,然后进行g...原创 2018-09-27 16:24:06 · 1654 阅读 · 1 评论 -
Java中的锁池和等待池
Java平台中,因为有内置锁的机制,每个对象都可以承担锁的功能。Java虚拟机会为每个对象维护两个“队列”(姑且称之为“队列”,尽管它不一定符合数据结构上队列的“先进先出”原则):一个叫Entry Set(入口集),另外一个叫Wait Set(等待集)。对于任意的对象objectX,objectX的Entry Set用于存储等待获取objectX这个锁的所有线程,也就是传说中的锁池,objectX...原创 2018-08-29 16:18:02 · 3481 阅读 · 4 评论 -
多线程总结
引如果对什么是线程、什么是进程仍存有疑惑,请先Google之,因为这两个概念不在本文的范围之内。用多线程只有一个目的,那就是更好的利用cpu的资源,因为所有的多线程代码都可以用单线程来实现。说这个话其实只有一半对,因为反应“多角色”的程序代码,最起码每个角色要给他一个线程吧,否则连实际场景都无法模拟,当然也没法说能用单线程来实现:比如最常见的“生产者,消费者模型”。很多人都对其中的一些...转载 2018-08-29 10:31:50 · 144 阅读 · 0 评论 -
Java NIO:浅析I/O模型
也许很多朋友在学习NIO的时候都会感觉有点吃力,对里面的很多概念都感觉不是那么明朗。在进入Java NIO编程之前,我们今天先来讨论一些比较基础的知识:I/O模型。下面本文先从同步和异步的概念 说起,然后接着阐述了阻塞和非阻塞的区别,接着介绍了阻塞IO和非阻塞IO的区别,然后介绍了同步IO和异步IO的区别,接下来介绍了5种IO模型,最后介绍了两种和高性能IO设计相关的设计模式(Reactor和Pr...转载 2018-08-29 10:06:00 · 110 阅读 · 0 评论 -
Spring Boot+Mybatis动态数据源配置
数据源配置:<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xsi:schemaLoca原创 2017-07-21 14:01:30 · 499 阅读 · 0 评论 -
SpringBoot使用JdbcTemplate的双数据源配置
数据源配置:spring.datasource.primary.driver-class-name=com.mysql.jdbc.Driverspring.datasource.primary.url=jdbc:mysql://read:3306/sevend?useUnicode=true&characterEncoding=utf8&autoReconnect=true&zeroDate原创 2017-07-20 17:44:49 · 3456 阅读 · 1 评论 -
面向对象五大基本原则
面向对象三大基本特性,五大基本原则三大特性是:封装,继承,多态 封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。封装是面向对象的特征之一,是对象和类概念的主要特性。 简单的说,一个类就是一个封装了数据以及操作这些数据的代码的逻辑实体。在一个对象内部,某些代码或某些数据可以是私有的,不能被外界访问。通过这种方式转载 2017-06-27 14:15:00 · 270 阅读 · 0 评论 -
java控制台贪吃蛇小游戏(多线程版)
多线程版贪吃蛇游戏说明: 本游戏运行在控制台中,直接运行SnakeTest.java文件,就能在控制台看到游戏画面,每按一个方向再按回车键就能控制蛇移动的方向 a:向左移动 d:向右移动 s:向下移动 w:向上移动 其他字母键:暂停 源代码:Snake.java/** * Created by LIUFANGDA310 on 2...原创 2017-05-17 15:26:57 · 4535 阅读 · 0 评论 -
windows上自动设置java环境变量的脚本
这里默认设置了java jdk的安装路径为C:\Program Files\Java\jdk1.7.0_71,如果你的jdk安装路径不在此,可在执行此命令的时候,会有提示输入jdk安装路径,输入即可。 首先粘贴命令如下: 下载地址 1 @echo off 2 3 :: TODO:设置java环境变量 4 :: Author: Gwt 5 color 02 6 ::转载 2017-05-15 14:56:36 · 3905 阅读 · 2 评论 -
使用poi将word转换为html
使用poi将word转换为html使用poi将word转换为html,支持doc,docx,转换后可以保持图片、样式演示地址: https://www.xiaoyun.studio/app/preview.html完整的源代码在http://git.oschina.net/xiaoyun_studio/xiaoyun-studio ,路径:src/main/java/s转载 2016-11-22 16:47:05 · 6406 阅读 · 9 评论 -
java处理word公式(wmf格式转换成svg)
把word转化成html后,里面的公式的格式为.wmf格式,在浏览器中不能显示,故我把wfm格式转化成svg格式,这样就能在浏览器中显示了需要第三方jar包:wmf2svg-0.9.6.jar //wmf格式的图片转换成svg格式 private void convert(String file,String dest) throws Exception{ I原创 2016-11-15 15:00:16 · 4110 阅读 · 7 评论 -
POI读取excel文件
1.前言项目中要求读取excel文件内容,并将其转化为xml格式。常见读取excel文档一般使用POI和JExcelAPI这两个工具。这里我们介绍使用POI实现读取excel文档。2.代码实例:package edu.sjtu.erplab.poi;import java.io.FileInputStream;import java.io.FileNotFoundE转载 2016-10-19 16:21:31 · 309 阅读 · 0 评论 -
HashTable 和 HashMap 的区别
HashTable 和 HashMap 的区别HashTable的应用非常广泛,HashMap是新框架中用来代替HashTable的类,也就是说建议使用HashMap,不要使用HashTable。可能你觉得HashTable很好用,为什么不用呢? 这里简单分析他们的区别。 1.HashTable的方法是同步的,HashMap未经同步,所以在多线程场合要手转载 2016-09-18 10:30:28 · 282 阅读 · 0 评论 -
excel操作之poi-ooxml
目前市场上流行的对于excel处理的框架大致有两种:poi和jxl。对于这两种框架,我们可以做一个简单的对比: 1 开发团队:poi是Apache旗下的一个开源项目,由Apache官方维护,jxl好像是一个个人维护的开源项目。 2 各自优点:poi对公式支持较好,jxl不算好 。jxl提供对图片的支持(仅仅PNG格式),poi支持。(就这一条来看财务软件就该选poi转载 2016-09-13 09:03:13 · 2595 阅读 · 0 评论 -
用amcharts动态产生折线图
客户端: 折线图例子 var chartData = []; var chart; AmCharts.ready(function () { chart = new AmC原创 2016-09-12 20:34:05 · 4307 阅读 · 0 评论 -
wait,notify,notifyAll,sleep这些方法都跟线程的状态变化有关,为什么jdk把前三个方法放在Object类里面,而把sleep放在Thread类里面?
首先,虽然这些方法都跟线程的状态变化有关,但wait(),notify(),notifyAll()这三个方法在用法上就跟sleep()方法不太一样,wait(),notify(),notifyAll()必须在sychronized同步代码块中使用,且要用当前线程持有的锁来调用,比如锁.wait(),锁.notify(),而sleep()方法则是Thread类的一个静态方法,直接通过Thread类调...原创 2018-11-12 13:03:16 · 1212 阅读 · 0 评论