【Java基础】
文章平均质量分 78
Double=Eggs
衣带渐宽终不洗,熬夜熬得人憔悴
展开
-
发送带链接附件邮件
今天得到了一个特殊的需求,我的老婆大人相让我帮她写一个能够发送带附件邮件的工具类,这个附件是一个远程的链接文件,没问题,分分钟搞定,然后记录下,没准啥时候自己也用的到。首先,引入依赖jar包<!-- javamail --><dependency> <groupId>javax.mail</groupId> <artifactId>mail</artifactId> <version>1.4.7原创 2021-04-14 15:16:24 · 778 阅读 · 1 评论 -
【javaMail】java发送带附件邮件
package com.example.mail;import com.sun.mail.util.MailSSLSocketFactory;import javax.activation.DataHandler;import javax.activation.DataSource;import javax.activation.FileDataSource;import java...原创 2018-11-10 19:55:41 · 608 阅读 · 0 评论 -
HashMap的存储结构及原理
1、HashMap的数据结构(HashMap通过hashcode对其内容进行快速查找,是无序的) 数据结构中有数组和链表来实现对数据的存储,但这两者基本上是两个极端。 数组 :数组的存储区是连续的,占用内存严重,故空间复杂度很大。但数组的二分查找时间度小;数组的特点:寻址容易,插入和删除困难。 链表 :链表的储存区离散,占用内存比较宽松,故空间复杂度很小,原创 2017-08-19 20:22:02 · 3047 阅读 · 13 评论 -
【多线程】五种线程池简介
针对不同的情况,我们可以根据不同线程池的特性来实现不同的业务。那线程池总共分为哪几种呢?(1)、newCachedThreadPool创建一个可缓存线程池,如果线程池长度超过处理需要,可灵活回收空闲线程,若无可回收,则新建线程。(2)、newFixedThreadPool创建一个定长线程池,可控制线程最大并发数,超出的线程会在队列中等待。(3)、newSingleThreadExe原创 2017-08-08 10:14:57 · 917 阅读 · 7 评论 -
【多线程】newScheduledThreadPool线程池比较scheduleAtFixedRate和scheduleWithFixedDelay
上回说到,newScheduledThreadPool可以用来执行定时或者是周期性工作,但是newScheduledThreadPool里面有两个比较类似的schedule方法,分别是scheduleAtFixedRate和scheduleWithFixedDelay。那么整两个之间有什么不同呢?例子one:public static void main(String[] args) {原创 2017-08-08 10:51:00 · 2537 阅读 · 7 评论 -
线程池ThreadPoolExecutor
一个任务通过 execute(Runnable)方法被添加到线程池,任务就是一个 Runnable类型的对象,任务的执行方法就是 Runnable类型对象的run()方法。一般任务除了处理方式外,还需要处理的数据,处理的数据通过构造方法传给任务。当一个任务通过execute(Runnable)方法欲添加到线程池时: 1、如果此时线程池中的数量小于corePoolSize(线程池最小活跃线程数量),即使线程池中的线程都处于空闲状态,也要创建新的线程来处理被添加的任务。 2、如果此原创 2017-08-07 20:17:55 · 363 阅读 · 4 评论 -
java读取和输出文本文件
java读取和输出文本文件原创 2017-07-06 11:03:08 · 5926 阅读 · 0 评论 -
Freemark实现Java导出Word
Freemark实现Java导出Word原创 2017-07-03 15:34:01 · 695 阅读 · 19 评论 -
特定需求下动态代理导致的Spring事务不能回滚
有一个并没有使用动态生成的代理,而是直接调用的方法本体,也就是内部方法,显而易见,就是child方法。我们总结一下,就是在使用jdk里面的动态代理时,像这种事务内部调用已声明事务的方法是没有用的,这种方式下,child事务被覆盖,相当于直接调用内部方法,本地服务,是没有产生代理的,而是使用的方法本体。这也就导致我声明事务,抛出异常却不能回滚的一个重要原因,而很多人还在想我一样,埋头苦想到底是哪里出了问题。原创 2017-02-08 15:13:42 · 1678 阅读 · 18 评论 -
Java 程序 ——感想
也许大家也有过这样的经历,我这的是受够了;我们的专业选修课java课上老师留了一个作业,说做完了这个,就不用参加考试了,侥幸于懒惰的心理带领着我,光荣地接受了这个任务,而且按着老师的要求,不断地完善着自己的小小系统,但是,一个多星期过去了,我依旧没能按照自己的理想状态来完成自己的作品,不是因为自己没做出来,而是因为自己感觉自己太苛求自己了。也许这么说大家还是不理解,简单的说,因为我想做成真原创 2014-12-07 14:35:20 · 1033 阅读 · 20 评论 -
P and V
上次,我们已经说过死锁的形成原因以及防止方法了,都知道,之所以会发生死锁现象,原因之一是进程执行所申请的资源得不到满足,而陷入无限期的循环等待现象,而在这里我们说的进程其实是并发进程,也就是一组,至少两个进程同时进行。出现了并发进程,随之而来的就是解决并发进程间的资源分配方法,PV操作 首先我们说一下定义:1、p操作和v操作都是原语,即不可中断的过程。他们是对信号量进行操作2、P操原创 2015-04-25 11:09:47 · 1071 阅读 · 45 评论 -
【设计模式】之 透过工厂方法看 抽象类和接口
前几天,我们又进行了一遍设计模式的学习,重温了一遍,感觉就是不一样。不仅仅是理解的更加深刻了一点,更重要的是,我发现了很多以前没有注意过的东西。 而这次活动呢,总体来说还是收获满满的。很大程度方便了我们再进行合作机房时候对设计模式的理解以及运用。所以说,学了之后就要用,要不用,学他干嘛?多运用一些是自己变得更加方便的工具、思想,我们进步的才能更快。原创 2015-08-29 11:58:11 · 1553 阅读 · 35 评论 -
【java基础】面向过程~面向对象
相信大家都知道这两个东西,可是大家是如何知道的呢?我们又该如何区分这个东西到底是面向过程还是面向对象的呢? 那,我们首先就要知道什么是面向过程,什么是面向对象: 面向过程”(Procedure Oriented): 是一种以过程为中心的编程思想。“面向过程”也可称之为“面向记录”编程思想,并且它们不允许混合持久化状态和域逻辑。就是分析出解决问题所需要的步骤,然后用函数把这些步原创 2015-09-01 20:18:06 · 1778 阅读 · 24 评论 -
【java基础】重载与重写
很早的时候,我就知道这两个东西,但是,也仅仅是停留在知道的程度而已,对于什么是重写,什么事重载,还是感到十分的迷惑,迷茫。正好,在软考复习时又经历这两个东西,细心一点,探究了一下,有点收获,借助java程序,想分享给大家定义:重载(overload),重载是可使函数、运算符等处理不同类型数据或接受不同个数的参数的一种方法。简单说,就是函数或者方法有同样的名称,但是参数列表不相同的情原创 2015-09-02 18:10:56 · 823 阅读 · 24 评论 -
【java基础】内存分析
在上次呢,我们遗留了一个问题,就是运行结果的各异性,那今天,我们就来探究一下内存里的天地。 首先呢,我们把mian()调出来:public static void main(String[] args){ Person person1=new Person(); //new了一个系统默认的Person的构造方法 person原创 2015-09-03 22:06:37 · 1562 阅读 · 27 评论 -
【java基础】]IO流
IO流概念: 流的概念源于unix中管道(pipe)的概念,在unix中,管道是一条不间断的字节流,用来实现程序或进程间的通信,或读写外围设备,外部文件等 一个流,一定能够会有源和去向(目的地),他们可以是计算机内存的某些区域,也可以是磁盘文件,神这可以使internet上的某个URL(地址)归类: IO流,大体解释就原创 2015-09-08 12:06:57 · 860 阅读 · 28 评论 -
【J2EE入门】13个规范
看过了j2ee教学视频,真的让我痛彻心扉,那叫痛并快乐着,痛是因为看了这么长时间,自己只知道了13个规范的概念;同样,快乐也正是因为我知道了13个规范的概念,接下来就是逐项实践的学习。看了教学视频,总结了一下,j2ee的核心和思想是没有变的。一、什么是J2EE J2EE是一套全然不同于传统应用开发的技术架构,包含许多组件,主要可简化且规范应用系统的开原创 2016-02-28 23:15:55 · 1933 阅读 · 29 评论 -
几种方式实现Javaweb页面跳转
背景: 自己经手的一个java项目要实现带参页面跳转和页面跳转,完成任务后,总结一下自己知道了的几种方式。实现: 首先我们有两大种方式来实现页面跳转:1、JS(javascript);2、jsp跳转我们先来说一下简单的js实现页面跳转:好几种,这里简单介绍3个 1、window.location.href="URL"原创 2016-08-21 21:54:44 · 22952 阅读 · 33 评论 -
【java基础】java开发异常状态码
背景: 在我们开发的过程中,我们很难不注意到系统反馈给我们的一些(异常信息)错误状态,而且他们还都有自己的专门的标识码,下面我们来进行一下总结,那些我们常见的错误状态码:转载 2016-11-27 14:28:23 · 3883 阅读 · 2 评论