
Java
放牧娃子
乘着年轻,赶紧学
展开
-
Java内存模型- JMM
Java内存模型- JMMJava 多线程与并发离不开 Java内存模型,但网上的博文我有点不能理解,这次看完 Java多并发实战和相关视频,做一份简单的总结。内容大概分为下面几块。JMM是什么,起到了什么作用? JMM的基本原理? Happens-before是什么,它又起到什么作用? 指令重排的优缺点。JMM是什么?它与JVM的内存模型不一样,JVM的内存模型是物...原创 2019-11-12 09:18:00 · 283 阅读 · 0 评论 -
class com.sun.mail.smtp.SMTPAddressFailedException: 550 5.1.1 recipient is not exist
问题场景: 在一个系统的流程节点中 用户点击后发现查不到下一个流程节点,后台查看Linux日志,报SMTP的错误错误原因: 由于流程走向下一个节点需要发送邮件,这个 500 5.1.1 报的是邮件地址不正确,并不存在该邮件地址,进而报发送错误。解决方案:1、 必须查出哪个用户的邮件地址有问题,也就是必须过滤掉可用的邮件,用排除法,我这里的log日志有几百行的发送记录,如果直...原创 2019-07-09 14:24:12 · 10718 阅读 · 0 评论 -
JAVA中 类的初始化
类的初始化流程加载一个类A时(执行该类的Java代码 或者 是 new 一个 该类的对象)首先读取该类 是否存在基类B 通过extends 判断,如果有基类B,读取其基类B,直到读取到最初始的基类C从最初始的基类C进行初始化,再直到逐步初始化其派生类B直到加载类A首先从类的 static 域开始加载,首先声明 static 只加载一次,将类中的 static 属性字段,方...原创 2019-03-13 10:32:13 · 281 阅读 · 0 评论 -
ArrayDeque源码解析
ArrayDeque实现了Deque接口, 非线程安全 禁止使用空元素。 当用作堆栈时,此类可能比Stack快,并且当用作队列时比LinkedList更快。类的字段中包含 初始容量、头尾指针,以数组为底层数据结构 transient Object[] elements; transient int head; transient int tail; ...原创 2019-03-15 14:33:05 · 165 阅读 · 0 评论 -
初识JVM-内存回收算法(垃圾收集)
先说明堆、栈的区别和垃圾收集指的是哪块。 堆存放着Java世界绝大多数对象实例,内存回收指的是这块,栈是运行时单位,堆是存储时单位。 从软件设计的角度来说,栈解决程序的运行问题,即程序如何执行,或者说如何处理数据,堆解决的是数据存储的问题,即数据怎么放,放在哪儿。 所以关于程序计数器、虚拟机栈、本地方法栈三个区域随线程生则生,死...原创 2019-01-16 14:08:39 · 269 阅读 · 0 评论 -
初识Java虚拟机:运行时数据区域与对象访问方式
Java虚拟机:Java与C++之间进行内存动态分配和垃圾收集技术的虚拟机JDK(Java Development Kit): 由 Java程序设计语言、Java虚拟机、JavaAPI类库这三部分组成,用于支持Java程序开发的最小环境。JRE (Java Runtime Environment) :由 JavaAPI 类库中的 JavaSE API 子集 和 Java 虚拟机这两部分组成...原创 2018-12-08 20:44:25 · 187 阅读 · 0 评论 -
数据存入问题 java.sql.SQLException:ORA-01861:文字和格式字符串不匹配、数字类型填入了非数字类型
后台存入记录进入数据库,数据类型报错往往是日期类型出错。今天说说面对日期类型在不同数据表中的不同设置,我们该如何针对数据库参数类型的传参呢?问题描述:在系统的多人合作中,有的同事把表日期类型设置为 varchar2类型,有的同事把表日期类型设置为Date类型,存入日期咋传? 解决方法:首先我们基本都是从前端的插件中选择时间传入后台取参数时,该参数类型为一个字符串类型。1.当...原创 2018-10-10 16:26:17 · 5306 阅读 · 0 评论 -
IntelliJ IDEA 注册码
如果无特殊方法1. 首先在 自己目录 C:\Windows\System32\drivers\etc 下修改host文件使用前请将“0.0.0.0 account.jetbrains.com”添加到hosts文件中 2. 在这个网站复制注册码 地址:http://idea.lanyus.com/3. 打开idea,选择help列表的Register,粘贴选择复制的注册码...原创 2018-09-01 15:02:37 · 19640 阅读 · 1 评论 -
原型模式 浅复制与深复制
原型模式(Prototype): 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。这里我用Java来给大家介绍一下它的基础使用。基础示例:说明:在Java中自定义类的对象可以被复制,自定义类就必须实现Cloneable中的clone()方法,而在.NET中便是实现ICloneable接口其中的唯一方法Clone()方法原型类public abstract cl...原创 2018-08-19 20:00:45 · 490 阅读 · 0 评论 -
LeetCode 16:最接近的三数之和 Java
题目:给定一个包括n个整数的数组nums和 一个目标值target。找出nums中的三个整数,使得它们的和与target最接近。返回这三个数的和。假定每组输入只存在唯一答案。例如,给定数组 nums = [-1,2,1,-4], 和 target = 1.与 target 最接近的三个数的和为 2. (-1 + 2 + 1 = 2).解题思路:...原创 2018-08-01 15:33:41 · 1533 阅读 · 0 评论 -
Long\long 类型 强转 Integer\int 类型
做题目偶尔遇到又忘了如何转换,特写篇博客记录一下,到时候把所有偏门一点的类型转换全部统写一些。long -> int | long x = 10; int y = (int) x;Long -> Integer | Long x = (long) 10; Integer y = x.intValue();int -&g...原创 2018-06-30 22:49:32 · 5855 阅读 · 0 评论 -
LeetCode 15题 : 给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?找出所有满足条件且不重复的三元组。
import java.util.ArrayList;import java.util.Arrays;import java.util.List;public class Test15CorrectSolution { public static void main(String[] args) { /** * Leetcode第十五题: ...原创 2018-06-25 23:49:16 · 12152 阅读 · 0 评论 -
Eclipse中将Tab键换成Space键
问题:使用eclipse新版本时,编辑器默认不将tab转换为space,每次缩进一个tab,eclipse下默认占4个space,(java规范只是规定tab是占8个字符,但具体宽度或等价于空格数在不同编辑器不同);但在一些txt、vi、web下的编辑器,默认tab是8个space,导致每次format,会导致大量的不同。为了确保编辑器统一,需要对eclipse的编辑器做转换,让tab统一转换为s...原创 2018-02-25 15:46:32 · 1369 阅读 · 0 评论