- 博客(612)
- 资源 (8)
- 问答 (1)
- 收藏
- 关注
原创 谈谈MySQL支持的事务隔离级别,以及悲观锁和乐观锁的原理和应用场景?
在日常开发中,尤其是业务开发,少不了利用 Java 对数据库进行基本的增删改查等数据操作,这也是 Java 工程师的必备技能之一。做好数据操作,不仅仅需要对 Java 语言相关框架的掌握,更需要对各种数据库自身体系结构的理解。今天这一讲,作为补充 Java 面试考察知识点的完整性,关于数据库的应用和细节还需要在实践中深入学习。今天我要问你的问题是,谈谈 MySQL 支持的事务隔离级别,以及悲观...
2018-12-10 11:09:29 971
原创 docker容器与宿主机之间内容拷贝
从容器内拷贝文件到主机上docker cp <containerId>:/file/path/within/container /host/path/target 例如:[root@hadoop hadoop]# docker cp 7a0b6182a059:/home/oracle /home/hadoop/silentConfig/实际上容器的目录在映射...
2018-11-22 15:28:42 470
原创 Java 8 实现各种List操作
利用java8新特性,可以用简洁高效的代码来实现一些数据处理。定义1个Apple对象:public class Apple { private Integer id; private String name; private BigDecimal money; private Integer num; public Apple(Integer id...
2018-11-22 10:35:19 8064
原创 括号匹配(小中大括号序列)
括号序列由( )[ ]{ }组成,不合法的括号序列由( { ) },[ } { ],等等。编程实现一个函数,检查一个括号序列是否是合法的括号序列。解法:思路和“后缀表达式的求解”相似。我们借助栈,每读一个括号,如果是左括号,那么入栈,然后继续读下一个括号;如果是右括号,那么就要看看这个右括号和栈顶的括号是否匹配;如果匹配,那么弹出栈顶的括号,继续读下一个括号。当栈变空时,说明此括号序列是合...
2018-11-12 12:07:03 2085
原创 精选20道Java代码笔试题
1、运算符优先级问题,下面代码的结果是多少? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 public class Test { public static void main(String[] a...
2018-11-07 15:56:14 1409
原创 JDK动态代理与CGLib动态代理相关问题
原文:https://www.cnblogs.com/jobbible/p/9917208.html 导读:1、JDK动态代理原理是什么?为什么不支持类的代理?2、JDK动态代理实例3、CGLib代理原理是什么?4、CGLib代理实例5、JDK动态代理与CGLib代理的区别是什么?6、总结 注:阅读本文之前可以先阅读:什么是代理模式? 1...
2018-11-06 19:41:45 902
转载 SpringBoot从入门到进阶——学会Logback日志的配置和搭建
内容 从实际项目需求出发,以最快的速度实现SpringBoot下Logback的配置。然后先后实践测试了SpringBoot内置的基础配置(SizeBasedTriggeringPolicy)、按时间划分日志文件的配置(TimeBasedRollingPolicy) 、同时按时间和大小划分日志文件的配置(SizeAndTimeBasedRollingPolicy)、不同级别日志输出到不同日志...
2018-11-01 18:15:30 1794
原创 Command line is too long. In order to reduce its length classpath file can be used.
Idear 运行测试用例提示错误:Command line is too long. In order to reduce its length classpath file can be used.第一步:在.idea 下打开workspace.xml 中加上<property name="dynamic.classpath" value="true" />第二步:...
2018-11-01 15:11:38 4001
原创 《Java千问》你了解代理模式吗?
代理模式详解1 什么是代理模式?一句话描述:代理模式是一种使用代理对象来执行目标对象的方法并在代理对象中增强目标对象方法的一种设计模式。详细描述:1、理论基础-代理模式是设计原则中的“开闭原则(对扩展开放、对修改关闭)”的具体实践,代理对象代为执行目标对象的方法,并在此基础上进行相应的扩展。2、详细内容-代理模式主要目的为其他对象提供一种代理以控制对这个对象的访问。主要解决在某...
2018-10-31 15:00:54 221
原创 深入理解Java 8 Lambda(语言篇)
State of Lambda by Brian Goetz原文链接:http://lucida.me/blog/java-8-lambdas-insideout-language-features/关于本文介绍了 Java SE 8 中新引入的 lambda 语言特性以及这些特性背后的设计思想。这些特性包括:lambda 表达式(又被成为“闭包”或“匿名方法”) 方法引用和...
2018-10-26 16:33:29 437
原创 深入理解Java 8 Lambda(类库篇)
背景(Background)自从lambda表达式成为Java语言的一部分之后,Java集合(Collections)API就面临着大幅变化。而 JSR 355(规定了 Java lambda 表达式的标准)的正式启用更是使得 Java 集合 API 变的过时不堪。尽管我们可以从头实现一个新的集合框架(比如“Collection II”),但取代现有的集合框架是一项非常艰难的工作,因为集合接口...
2018-10-26 16:32:37 681
原创 【JAVA核心】Java GC机制详解
垃圾收集 Garbage Collection 通常被称为“GC”,本文详细讲述Java垃圾回收机制。导读:1、什么是GC2、GC常用算法3、垃圾收集器4、finalize()方法详解5、总结--根据GC原理来优化代码正式阅读之前需要了解相关概念:Java 堆内存分为新生代和老年代,新生代中又分为1个 Eden 区域 和 2个 Survivor 区域。 ...
2018-10-18 08:53:35 231
原创 lombok @EqualsAndHashCode 注解的影响
官方文档:@EqualsAndHashCode原文中提到的大致有以下几点: 1. 此注解会生成equals(Object other) 和 hashCode()方法。 2. 它默认使用非静态,非瞬态的属性 3. 可通过参数exclude排除一些属性 4. 可通过参数of指定仅使用哪些属性 5. 它默认仅使用该类中定义的属性且不调用父类的方法 6. 可通过callSuper=true...
2018-10-16 08:28:56 204
原创 使用idea+gradle创建springboot项目
一、打开idea --> file --> new project二、选择Spring Initializr --> 选择自己的SDK(jdk) --> 选择Initializr Service URL --> 下一步 注意:Initializr Service URL中的地址要把https://协议改成http://协议...
2018-10-16 08:27:33 11787
转载 Java相同类型的两个对象比较属性值,得到不同属性的名称和对应的值,附代码实例
假设现在有需求如下:比较2个相同类型的不同对象,找到这2个对象的不同的地方,并展示记录一下。当然说的是相互对应的属性啦。带着这个需求,看下面的例子。(我写代码的都不嫌弃长,你看代码的就也别嫌弃咯。)package com.lxk.test; import com.google.common.collect.Lists;import com.lxk.model.Car;import ...
2018-10-13 12:31:58 7923 1
原创 每个程序员都会遇到的面试问题:谈谈进程和线程的区别
当你刚入职场时,无论你是用C++还是Java甚至只是应聘运维岗位,相信你都会遇到这个问题。这是一个很基础的问题,但又是一个很考验人水平的问题。说基础是因为每个学计算机的人都应该懂,进程线程是计算机的基础概念,是每个程序员时时刻刻都要接触的东西。但这又是一个充满陷阱可以无限扩展和深入的一个问题。比如可以从操作系统知识扩展到计算机组成原理,可以从单线程扩展到并发编程,可以从并发编程深入到线...
2018-10-10 15:30:10 540
原创 面试问题:你了解Java内存模型么(Java7、8、9内存模型的区别)
Java内存模型是每个java程序员必须掌握理解的,这是Java的核心基础,对我们编写代码特别是并发编程时有很大帮助。由于Java程序是交由JVM执行的,所以我们在谈Java内存区域划分的时候事实上是指JVM内存区域划分。首先,我们回顾一下Java程序执行流程:如上图所示,首先Java源代码文件(.java后缀)会被Java编译器编译为字节码文件(.class后缀),然后由JVM中的类...
2018-10-09 19:29:07 525
原创 mysql 获取昨天日期、今天日期、明天日期以及前一个小时和后一个小时的时间
1、当前日期? 1 select DATE_SUB(curdate(),INTERVAL 0 DAY) ; 2、明天日期? 1 select DATE_SUB(curdate(),INTERVAL -1 DAY) ; 3、昨天日期? 1 select DATE_SUB...
2018-10-08 10:43:26 57898
转载 关于setConnectTimeout和setReadTimeout的问题
1、问题描述因为用户登录记录需要记录登录地址,这个地址获取调用的是阿里的接口,登录的时候由于connect没有响应,造成一直卡在登录界面。 2、问题排查和定位思考:网络差不应该报网络异常的错误或者直接抛timeout异常吗?所以马上去检查Http请求的地方. 备注:(在DownloadThread中使用HttpURLConnection进行网络请求时只是设置了connect...
2018-10-07 15:08:59 3424
转载 Jenkins使用shell脚本部署到远程服务器步骤
首先需要去 系统管理->管理插件,选择可选插件选项卡,搜索并找到 SSH Slaves plugin 插件,点击下载安装安装完成后也许需要重启Jenkins然后你可以在系统管理中找到刚安装完成的功能: 输入主机IP,端口号,用户名及密码就可以了配置完成后,修改需要进行远程连接的job:在构建中增加构建步骤,Execute shell script on...
2018-10-07 15:07:50 2107
翻译 【JavaFx教程】第七部分:部署
我想已经写到本教程系列的最后一部分了,应该教你如何部署(例如:打包和发布)AddressApp第7部分的主题使用e(fx)clipse本地包(Native Package)部署我们的JavaFX应用程序。什么是部署部署是打包和发布软件给用户的过程。这是软件开发的关键部分,因为它是第一次与使用我们软件的用户交流。Java的广告口号是编写一次,到处运行,这说明Java语言的跨平台...
2018-09-28 10:44:01 1274 1
翻译 【JavaFx教程】第六部分:统计图
第6部分的主题创建一个统计图显示生日的分布。生日统计在AddressApp中所有人员都有生日。当我们人员庆祝他们生日的时候,如果有一些生日的统计不是会更好。我们使用柱状图,包含每个月的一个条形。每个条形显示在指定月份中有多少人需要过生日。统计FXML视图 在ch.makery.address.view包中我们开始创建一个BirthdayStatistics.fxml(*...
2018-09-28 10:42:48 1711
翻译 【JavaFx教程】第五部分:将数据用 XML 格式存储
第5部分的主题持久化数据为XML 使用JavaFX的FileChooser 使用JavaFX的菜单 在用户设置中保存最后打开的文件路径。现在我们的地址应用程序的数据只保存在内存中。每次我们关闭应用程序,数据将丢失,因此是时候开始考虑持久化存储数据了。保存用户设置Java允许我们使用Preferences类保存一些应用状态。依赖于操作系统,Perferences保存在不同的地...
2018-09-28 10:41:52 1686
翻译 【JavaFx教程】第四部分:CSS 样式
第4部分主题CSS样式表 添加应用程序图标CSS样式表在JavaFX中,你能使用层叠样式表修饰你的用户接口。这非常好!自定义Java应用界面从来不是件简单的事情。在本教程中,我们将创建一个*DarkTheme*主题,灵感来自于Windows 8 Metro设计。按钮的CSS来至于Pedro Duque Vieia的博客Java中JMetro-Windows 8 Metro控件。...
2018-09-28 10:40:17 3094
翻译 【JavaFx教程】第三部分:与用户的交互
第3部分的主题:在表中反应选择的改变(TableView中)。 增加增加,编辑和删除按钮的功能。 创建自定义弹出对话框编辑人员。 验证用户输入。响应表的选择显然,我们还没有使用应用程序的右边。想法是当用户选择表中的人员时,在右边显示人员的详情。首先,让我们在PersonOverviewController添加一个新的方法,帮助我们使用单个人员的数据填写标签。创建方法sh...
2018-09-28 10:39:00 1271 2
翻译 【JavaFx教程】第二部分:Model 和 TableView
第二部分的主题创建一个 模型 类。 在 ObservableList 使用模型类。 使用 Controllers 在 TableView 上显示数据。创建 模型 类。我们需要一个模型类来保存联系人信息到我们的通讯录中。在模型包中 (ch.makery.address.model) 添加一个叫 Person的类。Person 类将会有一些变量,名字,地址和生日。将以下代码添加到类。...
2018-09-27 16:42:24 1991
翻译 【JavaFx教程】第一部分:Scene Builder
第一部分的主题开始了解 JavaFX 。 创建并运行一个 JavaFX 项目。 使用 Scene Builder 来设计用户界面。 使用 模型 - 视图 - 控制器(MVC)模式 构造基础的应用。你需要准备最新的 Java JDK 8 (包含 JavaFX 8)。 Eclipse 4.3 或更高版本与 e(fx)clipse 插件。最简单的方法是从 e(fx)clipse 网...
2018-09-27 16:40:57 25429 4
转载 JavaFX布局(一)
说道GUI编程一定要谈到布局,JavaFX内置了大量的布局控件提供给我们使用。其实,JavaFX的布局控件和界面元素控件都是继承自javafx.scene.layout.Region类。我们这里只看布局控件类。布局控件我们在界面上一般是看不到的,它一个容器用于放置其它可视的界面元素控件。(JavaFX在线API文档:JavaFX8 API Online)JavaFX布局控件的类图如下:下面简...
2018-09-27 14:27:50 2901
原创 Iterator hasNext() ,next(),remove()解析
一、Iterator的API关于Iterator主要有三个方法:hasNext()、next()、remove()hasNext:没有指针下移操作,只是判断是否存在下一个元素next:指针下移,返回该指针所指向的元素remove:删除当前指针所指向的元素,一般和next方法一起用,这时候的作用就是删除next方法返回的元素二、迭代器原理1、当创建完成指向某个集合或者容...
2018-09-21 18:42:47 2970
原创 Intellij IDEA GIT 分支合并冲突
git cherry-pick可以选择某一个分支中的一个或几个commit(s)来进行操作。 最近同时开发了很多个功能并提交到了dev分支,但是上线的时候有些功能依赖其他的团队的服务,其他团队上不了线,导致自己的提交到dev分支的某些功能没法上线。现在分支上有四五个功能,但是现在只要合并dev中的中的一两个功能到master。如果直接使用Merge-Changes 会将...
2018-09-20 14:33:00 3799
转载 Git如何在不提交当前分支的情况下切换到其它分支进行操作——git stash
假如现在的Bug你还没有解决,而上边又给你派了一个新的Bug,而这个Bug相比较现在正在苦思冥想的Bug比较容易解决。你想先解决新的Bug,可是之前的Bug还没有解决完而不能提交。怎么办? 解决方法:在其他分支上另开炉灶解决。首先你需要将此刻正在解决Bug的当前分支“储藏”起来。例假如此时正在你在当前分支dev上已进行了Bug修改但还未提交。此时你想去解决刚派下来的另一个Bug...
2018-09-20 14:24:22 10739 1
原创 git 合并某个提交commit到指定的分支上
有时候我们希望只合并某个分支上的某次修改commit到指定的分支上.那么就可以使用cherry-pick命令来操作了.使用git log 查看提交的信息,记住commit id.git checkout 要修改的分支git cherry-pick 某个commit id // 把某个commit id的提交合并到当前分支. 经常被问到如何从一个分支合并特定的commits到...
2018-09-20 11:05:38 1371
转载 docker save和docker export的区别
缘起docker save和docker export都能导出镜像包,咋看起来区别似乎不大。本文就针对这个问题,试图搞清楚docker save和docker export的功能是什么?适用于什么应用场景?本文的测试的Docker版本如下,不保证所有版本的docker都能重现本文的结果。>docker versionClient: Version: 17.07....
2018-09-11 11:38:32 2839 1
原创 Mysql连接数过大导致连接超时的问题
Mysql连接数过大导致连接超时的问题,春节访问量激增,负载压力很大,程序处理较慢,然后就调整项目中的线程池和数据库连接数。可是还是没有太好的提高,追根溯源,发现数据库连接受到限制。虽然是做了读写分离,但是还是没抗住高峰。所以会有报错:“MySQL: ERROR 1040: Too many connections”。查看最大连接数上限,默认的是151? 1 2 ...
2018-09-11 09:45:12 5640
原创 URL中文乱码及特殊字符处理
一、中文乱码IE高版本(应该是9以上,不确定),在get方式请求中中文传到后台容易出现乱码问题。解决方法如下:1、第一种,换成post方式如果可以得话换成post方式就可以。如果采用表单或者ajax,都可以把数据放到表单域或者ajax的data中,采用post请求。注:经测试,把数据放入form表单中,使用jQuery的serialize()方法获取要传输的数据,通过ajax的GE...
2018-09-09 15:33:49 844
原创 service endpoint with name xxx already exists.
使用Docker时,在启动一个容器时,有时会遇到如下问题:docker: Error response from daemon: service endpoint with name xxx already exists.说明此端口已经被名为xxx的容器占用了。我这里遇到的是问题是,在启动mysql时出现问题:root@iZuf6axmuekh1n14dwcufmZ:~# dock...
2018-09-08 22:04:32 1653
原创 mysql计算两个日期之间的天数
MYSQL自带函数计算给定的两个日期的间隔天数 有两个途径可获得 1、利用TO_DAYS函数 select to_days(now()) - to_days('20120512') 2、利用DATEDIFF函数 select datediff(now(),'20120512') 参数1 - 参数2 等于间隔天数 3、利用TIMESTAMPDI...
2018-09-08 11:29:21 11958
原创 mysql的1067错误
由于要升级MySQL到V5.6,所以拷贝my.ini和数据文件到新的系统上。 在启动服务时,又出现1067错误! 查看,主机名.err文件(xiaobin-PC.err) 2013-12-02 20:23:22 3684 [Note] Plugin 'FEDERATED' is disabled. 2013-12-02 20:23:22 ...
2018-09-05 19:27:04 323
转载 spring声明式事务 同一类内方法调用事务失效
只要避开Spring目前的AOP实现上的限制,要么都声明要事务,要么分开成两个类,要么直接在方法里使用编程式事务[问题] Spring的声明式事务,我想就不用多介绍了吧,一句话“自从用了Spring AOP啊,事务管理真轻松啊,真轻松;事务管理代码没有了,脑不酸了,手不痛了,一口气全配上了事务;轻量级,测试起来也简单,嘿!”。不管从哪个角度看,轻量级声明式事务都是一件解放生产力的...
2018-08-30 14:31:08 376
原创 一次JAVA内存泄漏的定位分析过程
正式环境老是内存用完崩溃。在本地模拟以及解决过程查询JAVA线程,命令:jps -lvm生成dump文件:jmap -dump:live,format=b,file=aaa.hprof 22400使用工具MAT分析:在Leak Suspects页面会给出可能的内存泄露,进入Leak Suspects,查看那些类可能发生内存泄露发现自己写的类:线程池的...
2018-08-30 11:31:31 7578
算法第四版-扫描版-Robert Sedgewick
2018-11-11
java抓包需要的包
2014-12-30
java一个mina框架的传输对象的问题
2014-08-21
TA创建的收藏夹 TA关注的收藏夹
TA关注的人