java
YonminMa
微信同名
展开
-
探秘Java中String、StringBuilder以及StringBuffer(万字长文)
相信String这个类是Java中使用得最频繁的类之一,并且又是各大公司面试喜欢问到的地方,今天就来和大家一起学习一下String、StringBuilder和StringBuffer这几个类,分析它们的异同点以及了解各个类适用的场景。转载 2020-10-31 11:24:46 · 937 阅读 · 0 评论 -
高频设计模式:Template Method(模板方法)模式
文章目录Template Method简介示例程序AbstractDisplay 类CharDisplay 类StringDisplay 类Main类运行结果Template Method简介在父类中定义处理流程的框架,在子类中实现具体处理的模式就称为 Template Method模式。TemplateMethod的类图如下其中AbstractClass是抽象类,ConcteteClass是继承该抽象类的子类。AbstractClass中method1、method2、method3是抽原创 2020-10-04 17:55:35 · 964 阅读 · 0 评论 -
基于XML的Spring声明事务控制
文章目录1. 配置事务管理器2. 配置事务的通知3. 配置AOP中的通用切入点(需要增强的类)表达式4. 建立事务通知和切入点表达式的对应关系5. 配置事务的属性Spring框架为我们提供好了事务控制器,我们不必自己写事务控制器。下面就详细说明基于XML配置Spring事务控制器的步骤。1. 配置事务管理器<!-- 配置事务管理器 --><bean id="transactionManager" class="org.springframework.jdbc.datasource.原创 2020-07-03 09:58:01 · 1462 阅读 · 0 评论 -
Spring AOP配置过程详解
文章目录AOP中的专业术语AOP整体配置过程项目中的角色分工基于XML的AOP配置基于注解的AOP配置保留bean.xml情况删除bean.xml情况AOP中的专业术语Joinpoint(连接点):连接点是指哪些被拦截到的点,在spring中,这些点指的是方法,因为spring只支持方法类型的连接点Pointcut(切入点):指我们要对哪些连接点进行拦截的定义Advice(通知/增强):拦截到连接点之后要做的事情通知的类型:前置通知(在调用invoke方法前),后置通知(在调用invoke方法后)原创 2020-07-02 13:12:47 · 1772 阅读 · 1 评论 -
一文让你理解Spring的核心思想之IoC
IoC全名为Inverse of Control,中文名是控制反转。当我第一次听到这个说法时,我和你一样,也是一头雾水:它为什么叫控制反转了?它怎么就降低程序之间的耦合了?点进来看看,谜底马上揭晓......原创 2020-05-15 18:09:47 · 2826 阅读 · 1 评论 -
Java 多线程看这一篇就够了
本篇文章从如何创建Java多线程出发,分析了多线程出现安全问题的原因并使用三种方法解决。分析线程之间的状态,以及各个状态之间的联系,且最后简单实现了线程池。原创 2020-03-20 22:23:26 · 2232 阅读 · 0 评论 -
Java内部类:成员内部类、局部内部类、匿名内部类详解
如果一个事物的内部包含另一个事物,那么这就是一个类内部包含另一个类。分类:成员内部类局部内部类(包含匿名内部类)成员内部类定义格式:修饰符 class 外部类名称 { 修饰符 class 内部类名称 { // .... } // ....}内部类的class文件命名为:外部类$内部类.class使用成员内部类间接方式: 在外部类的...原创 2020-03-10 10:54:45 · 2001 阅读 · 0 评论 -
Java面向对象的三大特征:封装、继承、多态详解
作为面向对象的最重要的概念,封装、继承和多态一直是面试Java时的热门话题,准确理解三大特征是非常重要的,这篇文章对该三大特性有较为详细的介绍。原创 2020-03-10 09:04:31 · 1887 阅读 · 0 评论 -
一文让你从此分清Java的方法重载和方法重写
方法重载与方法重写在Java面试中经常会被提到,能够知道二者的区别是非常重要的,这篇博客就详细介绍了方法重载和方法重写的概念以及二者的区别。原创 2020-03-09 11:40:19 · 1805 阅读 · 0 评论 -
Java对象转型
多态是Java面向对象的重要特性,而对象转型是Java的多态中的重要部分,因此如果学习Java的话学好对象转型是非常有必要的。这篇文章就详细介绍了Java中的对象转型。原创 2020-03-09 11:36:15 · 1816 阅读 · 0 评论 -
Java 接口要点总结
文章目录接口的定义接口的使用接口的抽象方法接口的默认方法接口的静态方法接口的私有方法接口的常量接口之间的多继承总结接口的定义接口就是多个类的公共规范。接口是一种引用数据类型,最重要的内容就是其中的:抽象方法。定义一个接口的格式:public interface 接口名称 { // 接口内容}备注:换成了关键字 interface之后,编译生成的字节码文件仍然是:.java ...原创 2020-03-07 21:39:03 · 2207 阅读 · 0 评论 -
Spring Boot学习笔记1:入门&HelloWorld
零基础学习Spring Boot,并配置maven,新建一个HelloWorld工程,使浏览器显示Hello world原创 2020-02-26 11:02:15 · 1939 阅读 · 0 评论 -
深入理解Java虚拟机2:常量的本质含义与反编译及助记符详解
类加载现有如下代码/* * 对于静态字段来说,只有直接定义了该字段的类才会被初始化 * 当一个类在初始化时,要求其父类全部都已经初始化完毕了 * -XX:+TraceClassLoading,用于追踪类的加载信息并打印出来 */public class MyTest{ public static void main(String[] args) { System.out...原创 2020-02-24 21:39:17 · 1871 阅读 · 0 评论 -
深入理解Java虚拟机1:类加载器深入解析与阶段分解&类的加载、连接与初始化过程详解
文章目录类加载类加载器类的使用与卸载*类的加载、连接与初始化类的加载类加载在Java代码中,类型(Class)的加载、连接与初始化过程都是在程序运行期间(而不是编译期间)完成的。此特点提供了更大的灵活性,增加了更多的可能性。类加载器类加载器为用来加载类的工具。在如下情况下,Java虚拟机将结束生命周期执行了 System.exit()方法;程序正常执行结束;程序在执行过程中遇到了...原创 2020-02-24 16:45:48 · 1987 阅读 · 0 评论 -
java实现中国象棋5:代码合集
做完了中国象棋的几部分,可能前面有些地方叙述不清,故写一篇代码合集,可以对照发现是否有写错的地方。共分为5个文件,分别为DrawUI.java,Listener.java,init.java,BlackWin.java,RedWin.java.其中前三个文件在前面的文章中均有介绍,后两个是胜利后分别出来的弹窗,因简...原创 2019-12-19 16:19:46 · 6246 阅读 · 7 评论 -
java实现中国象棋4:悔棋及重新开始
在现实中,我们有可能手抖不小心点到错误的位置导致棋子下错了,这时就应该有个悔棋的功能,让我们能够回到上一步。当然这个功能也是非常容易实现的,下面我将大致地说一下思路。思路创建一个数组用来保存棋盘上所有移动。只需要添加以下代码即可。int[][] lianbiao = new int[99999][6];// 棋子初始位置,现在的位置,棋子的编号,棋子占的位原来的棋子的编号当我们点击“悔棋...原创 2019-12-09 23:57:04 · 4685 阅读 · 10 评论 -
java实现中国象棋3:走棋规则的实现
前言之前我们已经实现了棋子的移动,但是可以发现棋子可以任意移动,不遵循中国象棋的规则,这篇博客便是为了实现中国象棋的走棋规则。在这里默认大家都已经知道中国象棋走棋的规则,如果不知道请自行百度学习。一、设计 findnumb() 方法此方法用来找出开始位置和点击位置在一条直线上时中间的棋子数目,用来判断炮和车(車)是否可以移动。代码如下: // 找到某一起点到终点中含有的棋子数 publi...原创 2019-12-08 17:07:51 · 3754 阅读 · 2 评论 -
java实现中国象棋2:移动棋子
java实现中国象棋2:移动棋子我在“java实现中国象棋1”的博客中说了一下如何把棋子画在棋盘上,使用一个flagflagflag二维数组即可实现。因此如果我们想让棋子移动,只需要改变改变flagflagflag二维数组中的值即可。我先通过mouseclick()mouseclick()mouseclick()函数获取当前点击的位置,再通过一个getcr()getcr()getcr()函数获得...原创 2019-08-19 16:53:32 · 4590 阅读 · 0 评论 -
java递归画谢尔宾斯基三角形
java递归画谢尔宾斯基三角形什么是谢尔宾斯基三角形形状构造思路1、递归2、画窗体3、监听器4、滑动条完整代码运行效果什么是谢尔宾斯基三角形谢尔宾斯基三角形(英语:Sierpinski triangle)是一种分形,由波兰数学家谢尔宾斯基在1915年提出。它是自相似集的例子。它的豪斯多夫维是log(3)/log(2) ≈ 1.585。形状构造递归画一个三角形。(多数使用等边三角形)...原创 2019-08-07 18:46:20 · 3515 阅读 · 0 评论 -
ecplise的Hot Code Replace Failed错误
ecplise的Hot Code Replace Failed错误今天在写中国象棋的程序时总是提示Hot Code Replace Failed,如图:然后与以前的代码比较发现少了this.setDefaultCloseOperation(EXIT_ON_CLOSE);因此导致关闭面板的时候进程没有被清除,加了这一行代码,手动把上一个进程关闭后就没有问题了。码代码马虎不得啊!...原创 2019-08-09 17:11:19 · 1910 阅读 · 0 评论 -
java实现中国象棋1:界面的制作
java实现中国象棋1:界面的制作前言界面思路棋盘棋子按钮和Logo前言中国象棋的界面主要有三个部分:棋盘,棋子和按钮。棋盘在网上可以找到许多相关的图片,但是棋子和按钮就找不到,或者找到的棋子图片很丑,因此我就自己用PS画了棋子和按钮,有需要的朋友可以加我微信,我会把我的微信号放在文章最后面。注:我们把所有的图片都放在包的下面。例如Package的名字为Chinesechess,那么就在此Pa...原创 2019-08-18 23:49:15 · 11919 阅读 · 14 评论