JAVA编程
simonGeek
Geek技术 Share想法 Update思想 Download成果
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Idea Mac版本 打不开、点击没反应、报错
Mac版本的idea突然莫名奇妙的打不开,经过多方搜索,终于找到答案。原创 2022-11-02 09:56:19 · 2624 阅读 · 1 评论 -
Mac安装thrift 0.9.3版本
安装0.9.3版本的thrift原创 2022-09-13 16:31:51 · 1436 阅读 · 0 评论 -
【Git恢复代码】Git代码没有Commit,但是执行git reset --hard
场景描述:常规代码提交流程git add <文件名> git commit "提交说明" git pull git push但是,我们有时候遇到异常场景。场景1:代码没有执行git add 就丢失了,此时代码没有提交到本地仓库场景2:代码执行完Git add,但是,没有执行git commit ,没有代码提交到本地仓库,但是代码在本地仓库的缓存区场景3:代码执行git commit ,没有Git push 将代码推送到远端仓库。解决方案:场景1:利用ide的.原创 2021-04-08 17:29:34 · 4367 阅读 · 2 评论 -
(IntelliJ IDEA)Error: Module not specified(文件显示J)
0. 母工程的pom.xml添加需要添加的module配置1.open my project structure2.click module&&click plus button3.click import module,and find the module's pom4.make sure you select the module you want to import,then apply &finish...原创 2020-12-14 17:41:43 · 964 阅读 · 0 评论 -
jar包冲突的原理和解决方案
Maven中jar包冲突是开发过程中比较常见而又令人头疼的问题,我们需要知道 jar包冲突的原理,才能更好的去解决jar包冲突的问题。本文将从jar包冲突的原理和解决两个方面阐述Maven中jar包冲突的解决办法。一、Maven中jar包冲突产生原因MAVEN项目运行中如果报如下错误:Caused by:java.lang.NoSuchMethodErrorCaused by: java.lang.ClassNotFoundException十有八九是Maven jar包冲突造成的。原创 2020-12-10 19:19:34 · 1955 阅读 · 1 评论 -
@DateTimeFormat无效原因
一般都是使用@DateTimeFormat把传给后台的时间字符串转成Date,使用@JsonFormat把后台传出的Date转成时间字符串,但是@DateTimeFormat只会在类似@RequestParam的请求参数(url拼接的参数才生效,如果是放到RequestBody中的form-data也是无效的)上生效,如果@DateTimeFormat放到@RequestBody下是无效的。 ...原创 2020-02-29 21:37:58 · 12576 阅读 · 7 评论 -
Java显示锁
显示锁Lock是显示锁的顶层实现的接口,所有的显示锁都是实现Lock接口1、ReentrantLockReentrantLock是对Lock的实现,提供与synchronized相同的互斥性和内存可见性。与进入或退出同步代码块相同的内存语义。1.1 轮询锁与定时锁内置锁中,死锁的唯一恢复途径是重启程序,防止死锁的唯一方法是避免锁顺序的不一致。在不能获取所有需要的锁时,可...原创 2020-02-17 23:20:39 · 369 阅读 · 0 评论 -
HashMap源码解析(体系化总结)持续更新
Java集合继承关系典型集合源码阅读HashTable 继承Dictionary类,实现Map类 使用Syncronize实现线程安全,读写都做 数组+单向链表存储 key的寻址算法:(hash & 0x7FFFFFFF) % tab.length; 32位 containsValue:两层遍历,外层遍历数组,内层单...原创 2020-02-17 23:19:18 · 359 阅读 · 0 评论 -
乐观锁和悲观锁简介
引言为什么需要锁(并发控制)? 在多用户环境中,在同一时间可能会有多个用户更新相同的记录,这会产生冲突。这就是著名的并发性问题。典型的冲突有:丢失更新:一个事务的更新覆盖了其它事务的更新结果,就是所谓的更新丢失。例如:用户A把值从6改为2,用户B把值从2改为6,则用户A丢失了他的更新。脏读:当一个事务读取其它完成一半事务的记录时,就会发生脏读取转载 2017-02-14 20:43:49 · 2176 阅读 · 0 评论 -
Hbase常识及适合场景
当我们对于数据结构字段不够确定或杂乱无章很难按一个概念去进行抽取的数据适合用使用什么数据库?答案是什么,如果我们使用的传统数据库,肯定留有多余的字段,10个不行,20个,但是这个严重影响了质量。并且如果面对大数据库,pt级别的数据,这种浪费更是严重的,那么我们该使用是什么数据库?hbase数个不错的选择,那么我们对于hbase还存在下列问题:1.Column Family代表什么?转载 2016-12-15 11:00:20 · 1758 阅读 · 0 评论 -
【技术晨读】技术的正宗与野路子
技术的正宗与野路子黄衫女子的武功似乎与周芷若乃是一路,飘忽灵动,变幻无方,但举手抬足之间却是正而不邪,如说周芷若形似鬼魅,那黄衫女子便是态拟神仙。这段描写出自《倚天屠龙记》第三十八回。“九阴神抓”本是《九阴真经》中的上乘武功,但当初梅超风夫妇由于拿到的《九阴真经》不完整,学不到里面的内功心法,硬是把这门上乘武功练到了邪路上,于是就成了“九阴白骨爪”。周芷若为求速成,也练转载 2016-08-22 13:53:26 · 788 阅读 · 0 评论 -
不能错过的 10 篇 Java 热文
《通信协议——HTTP、TCP、UDP》TCP、HTTP、UDP都是通信协议,也就是通信时所遵守的规则,只有双方按照这个规则“说话”,对方才能理解或为之服务。《深入浅出 SOA 思想》SOA的全称是Service-Oriented Architecture,面向服务架构。是一种架构,不是一种具体的开发技术。《高并发性能调试经验分享》4月份的时候看到一道面转载 2016-07-31 22:07:08 · 516 阅读 · 0 评论 -
40个Java多线程问题总结
java多线程分类中写了21篇多线程的文章,21篇文章的内容很多,个人认为,学习,内容越多、越杂的知识,越需要进行深刻的总结,这样才能记忆深刻,将知识变成自己的。这篇文章主要是对多线程的问题进行总结的,因此罗列了40个多线程的问题。转载 2015-12-22 16:20:56 · 604 阅读 · 0 评论 -
LeetCode详解 之 Path Sum I and II(Java)
题目Path Sum I:Given a binary tree and a sum, determine if the tree has a root-to-leaf path such that adding up all the values along the path equals the given sum.For example:Given the b转载 2015-05-24 00:55:29 · 2437 阅读 · 0 评论 -
spring下配置dbcp,c3p0,proxool
不管通过何种持久化技术,都必须通过数据连接访问数据库,在Spring中,数据连接是通过数据源获得的。在以往的应用中,数据源一般是Web应用服务器提供的。在Spring中,你不但可以通过JNDI获取应用服务器的数据源,也可以直接在Spring容器中配置数据源,此外,你还可以通过代码的方式创建一个数据源,以便进行无依赖的单元测试 配置一个数据源 Spring在第三方依赖包中包含了两个数转载 2015-05-30 15:15:35 · 706 阅读 · 0 评论 -
分布式小白对Memcached和Redis的比较
一直听说分布式存储、分布式缓存等关键字,但是一直处在局外观望。但是对于现在的海量数据时代,分布式缓存和分布式存储注定会需求越来越大,技术也更新也会越来越快,为了适应当前互联网大数据的时代。 今天小编就分布式缓存的两个架构:memcached和redis进行一些粗浅的比较,由于刚刚接触,所以如果有不对或者不恰当的地方,还请各位看官批评指正。 第一部分,对于Memcached和Redis简要介绍。原创 2015-03-27 21:42:06 · 1277 阅读 · 0 评论 -
四则运算-栈方法 JAVA
栈的规则是先进后出。利用压栈的思想来计算四则运算表达式方法如下:创建两个栈,一个存放四则表达式的数字,另一个存放对应的操作符。 例如一个表达是(3-1)*6-8/4,那么就将这个表达是的数字和操作符分别压入各自的栈,压栈规则如下: 1>遇到数字则直接压入数字栈顶; 2>遇到运算符(+-*/)时,若操作符栈为空,则直接放入操作符栈顶,否则,见3; 3>若操作符栈顶元素的优先级比当前运算符的优先转载 2015-04-01 23:38:40 · 1323 阅读 · 0 评论 -
JAVA实现随机无重复数字功能
JAVA实现随机无重复数字功能 本文给大家介绍如何在JAVA中实现随机无重复数字的功能。如果您是初学者的话,有必要看一看这篇文章,因为这个功能一般会在面试中遇到。包括我本人在招聘人员的时候也喜欢拿这个问题去问别人,主要看一看考虑问题的模式和基础知识如何。 希望这篇文章能给初次接触的朋友一些帮助,因为我曾接触过一些朋友要么写不出来,要么使用很平铺的思维方式去实现它。 一般有点开发经验转载 2015-04-02 22:54:53 · 674 阅读 · 0 评论 -
utf8和unicode编码的关系
UTF8 == Unicode Transformation Format – 8 bit 是Unicode传送格式。即把Unicode文件转换成BYTE的传送流。 UTF8流的转换程序: Input: unsigned integer c - the code point of the character to be encoded (输入一个unicode值) Output: byte转载 2015-04-02 11:20:43 · 786 阅读 · 0 评论 -
parseInt(),parseFloat(),valueOf(),intValue(),toString方法总结
本篇文章主要讲解一下在JAVA语言中数字型字符串和数字的转换,整型数字转换成字符串,以及个别方法之间的区别。1、parseXxx()是SimpleDateFomat里面的方法,常用的包括parseInt(),parseFloat() 使用此方法得到的原始数据类型的一个特定的字符串。 parseXxx()是一个静态方法,可以有一个参数或两个。 语法: 下面给出了该方法的所有的变型:static原创 2015-04-10 17:39:16 · 4848 阅读 · 0 评论 -
JAVA中||与|,&&与&的区别
这四个操作符的区别可以通过名字容易的区分:||(短路或),|(或),&&(短路与),&(按位与)通过一个简单的例子讲解一下:public class Test1 { public static void main(String[] args) { int i=0; if (3>2 || (i++)>0){原创 2015-04-12 21:46:08 · 886 阅读 · 0 评论 -
Session的生命周期
Session的生命周期 以前在学习的时候没怎么注意,今天又回过头来仔细研究研究了一下Session的生命周期。 Session存储在服务器端,一般为了防止在服务器的内存中(为了高速存取),Sessinon在用户访问第一次访问服务器时创建,需要注意只有访问JSP、Servlet等程序时才会创建Session,只访问HTML、IMAGE等静态资源并不会创建Session,可调转载 2015-04-23 16:27:49 · 832 阅读 · 0 评论 -
ArrayList和Vector的深度解读
Vector和ArrayList的区别 首先看这两类都实现List接口,而List接口一共有三个实现类,分别是ArrayList、Vector和LinkedList。List用于存放多个元素,能够维护元素的次序,并且允许元素的重复。3个具体实现类的相关区别如下:ArrayList是最常用的List实现类,内部是通过数组实现的,它允许对元素进行快速随机访问。转载 2015-04-23 21:21:32 · 808 阅读 · 0 评论 -
常见的HTTP状态码
常见HTTP状态码200 OK 301 Moved Permanently 302 Found 304 Not Modified 307 Temporary Redirect 400 Bad Request 401 Unauthorized 403 Forbidden 404 Not Found 410 Gone 500 Internal Server Error 501 No转载 2015-04-08 21:25:21 · 732 阅读 · 0 评论 -
单例模式的写法和线程安全性的讨论
//饿汉模式:单例模式,就是无论用不用,什么时候用,在类加载的时候就实例化一个这个类的对象//然后等到使用的时候,就是使用同一个实例对象//好处:在多线程的环境下使用这种方法,可以避免多线程带来的冲突。与之相对应的是,懒汉模式(按需实例化)class Singleton1{ private Singleton1(){} private static Singleton1 s1 =原创 2015-04-24 12:57:34 · 1033 阅读 · 0 评论 -
JAVA中this和super关键字
1.什么是super?什么是this?super关键字表示超(父)类的意思。this变量代表对象本身。2.使用super&this调用成员变量和方法可以使用super访问父类被子类隐藏的变量或覆盖的方法。当前类如果是从超类继承而来的,当调用super.XX()就是调用基类版本的XX()方法。见示例1。当类中有两个同名变量,一个属于类(类的成员变量),而另一个属于某个特定的方法(方法转载 2015-04-26 12:29:37 · 956 阅读 · 0 评论 -
Merge k Sorted Lists -- LeetCode
这道题目在分布式系统中非常常见,来自不同client的sorted list要在central server上面merge起来。这个题目一般有两种做法,下面一一介绍并且分析复杂度。 第一种做法比较容易想到,就是有点类似于MergeSort的思路,就是分治法,不了解MergeSort的朋友,请参见归并排序-维基百科 ,是一个比较经典的O(nlogn)的排序算法,还是比较重要的。思路是先分成两转载 2015-05-20 14:56:29 · 688 阅读 · 0 评论 -
JVM内存管理和JVM垃圾回收机制
JVM内存管理和JVM垃圾回收机制 你对JVM内存组成结构和JVM垃圾回收机制是否熟悉,这里和大家简单分享一下,希望对你的学习有所帮助,首先来看一下JVM内存结构,它是由堆、栈、本地方法栈、方法区等部分组成,结构图如下所示。JVM学习笔记 JVM内存管理和JVM垃圾回收JVM内存组成结构JVM内存结构由堆、栈、本地方法栈、方法区等部分组成,结构图如下所转载 2015-03-25 23:20:54 · 746 阅读 · 0 评论
分享