![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
Resemble_
一只程序猿的奇思妙想
github: https://github.com/Resemble
展开
-
Java结束线程的三种方法
线程属于一次性消耗品,在执行完run()方法之后线程便会正常结束了,线程结束后便会销毁,不能再次start,只能重新建立新的线程对象,但有时run()方法是永远不会结束的。例如在程序中使用线程进行Socket监听请求,或是其他的需要循环处理的任务。在这种情况下,一般是将这些任务放在一个循环中,如while循环。当需要结束线程时,如何退出线程呢?有三种方法可以结束线程: 1.设置退出标志,...转载 2020-02-15 20:16:41 · 263 阅读 · 0 评论 -
InterruptedException详解
1.线程为什么会抛出InterruptedException?假如现在有两个线程1和2;线程1在正常执行,此时线程2调用了线程1的interrupt方法;代码如下:@RunWith(SpringJUnit4ClassRunner.class)public class SynchronizedTest { @Test public void testSynch...转载 2020-02-15 20:10:13 · 21154 阅读 · 0 评论 -
Java远程调试的原理
JDWP(Java Debug Wire Protocol)两个VM之间通过debug协议进行通信,然后以达到远程调试的目的。两者之间可以通过socket进行通信。其中,调试的程序常常被称为debugger, 而被调试的程序称为debuggee。应用场景当你的开发环境在Window,又在远端linux Server或者移动平台上运行Java应用程序,Java提供了一系列的接...转载 2019-10-23 17:43:38 · 633 阅读 · 0 评论 -
理解ClassNotFoundException与NoClassDefFoundError的区别
上篇文章已经介绍过Java的类加载机制,在类加载的过程中我们最常遇到的异常就是:ClassNotFoundExceptionNoClassDefFoundError但是你知道他们的区别吗?以及什么情况下发生上面的异常? 如果你还不清楚,那么不着急,我们来仔细分析一下:先来说说第一个异常提示名字已经非常友好了,就是告诉我们使用类加载器就加载某个类的时候,发现所有的path下面都没有找...转载 2019-10-08 09:49:08 · 473 阅读 · 0 评论 -
JDK 8 函数式编程入门
目录1. 概述 1.1 函数式编程简介 1.2 Lambda 表达式简介 2. Lambda 表达式 2.1 Lambda 表达式的形式 2.2 闭包 2.3 函数接口 3. 集合处理 3.1 Stream 简介 3.2 Stream 常用操作 3.3 数据并行化操作 3.4 其他 参考1. 概述1.1 函数式编程简介我们最常用的面向...转载 2018-10-31 15:39:10 · 169 阅读 · 0 评论 -
jdk 里面的int、string、类、复合类的 HashCode 方法
目录Integer核心代码String核心代码类举例重写 equals结果重写 hashCode 方法结果参考文章Integer核心代码 /** * Returns a hash code for this {@code Integer}. * * @return a hash code value f...原创 2018-07-29 18:53:48 · 1224 阅读 · 0 评论 -
HashMap put 一百万个 kv 都是 Int 类型的数据需要多少空间?
目录问题代码实践实验结果Java对象内存布局对象头:实例数据:对齐填充:参考文章本文内容来源于摘抄总结实践 问题kv都是 int,一个 int 4 byte,就是100w * 8那就是8M,或者存储的是包装类 Integer ,一个 Integer 16 byte,那就是32 M 咯?代码实践通过java.lang.Runtime类中的fre...原创 2018-07-28 19:59:13 · 4953 阅读 · 0 评论 -
String s =new String()分析堆与栈 创建了几个对象
转载自 分享最终编辑 tanzhimei393先定义SString str1 = “abc”; System.out.println(str1 == “abc”);步骤: 1) 栈中开辟一块空间存放引用str1, 2) String池中开辟一块空间,存放String常量”abc”, 3) 引用str1指向池中String常量”abc”, 4) str1所指代的地址即常量”ab转载 2017-09-07 15:28:48 · 3994 阅读 · 0 评论 -
java多个账号发送邮件 501错误
从一个邮箱发送邮件从一个邮箱发送邮件报错 501 mail from address must be same as authorization user,是由于获取Session时的账号和Message中设置的邮箱地址setFrom不一致引起的 代码如下:/** * 服务器邮箱登录验证 */class MailAuthenticator extends Authentica转载 2017-07-10 14:46:58 · 3309 阅读 · 0 评论 -
Spring异步方法注解@Async
本文仅用于学习交流:转载自:http://www.mekau.com/3991.html在同一个类中,一个方法调用另外一个有注解(比如@Async,@Transational)的方法,注解是不会生效的。 在调用@Async方法的类后面添加注解: @EnableAsync 在被调用的方法增加@Async注解 调用和被调用, 不能在一个类里面定义, 要分开定义.转载 2017-07-17 12:32:03 · 9059 阅读 · 0 评论 -
实现 groovy(java) 的groupBy探索和 groupBy 2次
@Test void testBytetoString() { def errorCodeList = [ [code: "1", language: "2", content: "3"], [code: "1", language: "2", content: "4"], [co原创 2017-05-11 18:41:06 · 3555 阅读 · 0 评论 -
java构造函数使用方法总结
转载自:http://longying2008.iteye.com/blog/1535722仅用作学习使用 使用构造器时需要记住:1.构造器必须与类同名(如果一个源文件中有多个类,那么构造器必须与公共类同名)2.每个类可以有一个以上的构造器3.构造器可以有0个、1个或1个以上的参数4.构造器没有返回值5.构造器总是伴随着new操作一起调用示例:A.java转载 2017-03-29 21:21:21 · 3661 阅读 · 0 评论 -
Java enum的用法详解
转载自:http://www.cnblogs.com/happyPawpaw/archive/2013/04/09/3009553.html仅用作学习使用用法一:常量在JDK1.5 之前,我们定义常量都是: public static fianl.... 。现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法。public enu转载 2017-03-29 13:46:16 · 203 阅读 · 0 评论