Java
文章平均质量分 72
Java 学习
android阿杜
码农
展开
-
IntelliJ IDEA 控制台中文乱码和错误: 非法字符: ‘\ufeff‘
在电脑桌面新建文本文档,然后把 Java 文件中的代码全选复制到文本文档中,调整编码格式为 UTF-8 NO BOM,再保存,重命名文件名和后缀,粘贴替换 IDEA 中的 Java 文件。确实,之前一直报错的 Java 代码编码格式是 UTF-8 BOM,转换为 UTF-8 NO BOM 后就好了。那,有没有可能,当前项目中的 Java 代码已经是 UTF-8 BOM 格式的了,所以导致运行报错呢?UTF-8 BOM 含义:会包含特殊的隐藏字符,会导致 IDEA 运行失败。再次运行,看看效果。原创 2023-07-05 22:34:13 · 4269 阅读 · 0 评论 -
Java 代码块、静态代码块和构造函数 执行顺序
今天突然想起了几年前我碰到的一个 Java 面试题,内容略简单,还是在此记录备忘。不讨论深层次原理,我也不会。Java 中代码块、静态代码块和构造函数的执行顺序是怎样的?针对此问题,要考虑父类子类继承关系,考虑多个代码块前后顺序。于是撸上代码父类:public class ParentClass { static { System.out.println(...原创 2019-03-08 21:45:47 · 647 阅读 · 0 评论 -
面试算法题(5)--交换两个整型变量(不借助临时变量)
交换两个整型变量(不借助临时变量)这是多年前我做Java时面试碰到的题目,其实不难。特意写下这篇博客,是因为我发现有不止一种方法可以实现,原谅我无聊的双手。图1先简单说说普通的方法吧,如上图:int i = 5;int p = 3;int temp;先进行第一步,把p的值保存到临时变量tmep中,即temp = p;此时p的空间腾出来了(可以擦除内容了),第二步,把i的值赋给p,即p = i;此时...原创 2018-07-15 18:28:21 · 16496 阅读 · 1 评论 -
面试算法题(4)--将一个整数数组中的所有奇数放到偶数前面
将一个整数数组中的所有奇数放到偶数前面如:原始数组:{5,8,3,4,1,7,9,2,6,120}最终结果:{5,3,1,7,9,2,4,6,120,8}面试时面试官说出题目后,加了一句,需要最优时间复杂度。我当时就有点懵,对时间复杂度不了解,于是第一想法就排除了双重循环,然后就想不出更好的解决办法了。仔细分析这个题目:寻找数组前面所有的偶数(能被2整除的数),放到数组后面;寻找数组后面所有的奇数...原创 2018-07-15 17:09:43 · 19888 阅读 · 0 评论 -
面试算法题(7)--写一个java类,实现栈的功能
写一个java类,实现栈的功能之前面试碰到这个题,自己实现栈的功能。首先我们的了解栈的特点,和栈Stack.java各个方法的含义:1、栈是单出入口的数据结构,即出口和入口是共用的。2、栈拥有后进先出的特点。栈Stack.java源码方法分析:/** * @author duke * @dateTime 2018-07-19 22:24 * @description S...原创 2018-07-19 23:14:55 · 17092 阅读 · 0 评论 -
面试算法题(6)--求素数
求素数这是一道N年前我求职java时的面试题。当年的我是java菜鸟,遇到这道题更是一脸茫然啊。在这趟算法题列车上,还是载上它吧。素数:即是能被1和自己整除的数。1不是素数。比喻:求19是不是素数?那就来个2~18之间的循环,把每个数取出来让19整除,如果余数等于0,那就是素数了,否则不是。明白上面逻辑,就好做了。来个例子,求2~100之间的素数。那么,先得来个2~1...原创 2018-07-19 21:28:05 · 16889 阅读 · 0 评论 -
面试算法题(2)--两个大数相加
两大大数相加听说这是个频繁出现的算法题,在某某网站是的排行很靠前。在找工作之前,同事提过一次,我没当回事,恰恰在我第一家面试时就碰到了。两个大数相加。1、是整数;2、两个数无限大,long都装不下;3、不能用BigInteger;4、不能用任何包装类提供的运算方法;5、两个数都是以字符串的方式提供。两个字符串的数字,怎么相加?其实也简单,核心点考的是ASCII码和相加进位的问题。比喻字符类型的'9...原创 2018-07-07 18:57:23 · 45782 阅读 · 10 评论 -
面试算法题(1)--链表反转
分享一道面试碰到的算法题。链表反转,不借助任何掐数据结构或容器。意思就是把链表尾当成链表头,并且每个节点的指针反向。先看下图:黑色部分是原来链表;红色部分是翻转后的链表。思路分析:1、拿到head链表头,然后递归处理。2、当处理到head节点是,需要把head的next指针置空。3、如果是最后一个节点,需要把节点引用赋给head。4、如果是中间的某节点,需要把其引用赋给他下一个节点的next指针。...原创 2018-07-07 17:10:22 · 17253 阅读 · 0 评论 -
面试算法题(3)--编写算法:字符串类型的小数转换成double类型的小数值
自己编写算法,将一个字符串类型的小数,转换成double类型的小数。比喻:"15.246"转换成15.246,不能使用系统提供的Integer.parseInt和Double.parseDouble等方法。初步一想,感觉是没办法啊。其实不难,我之前讲过一个类似的例子,两个大数相加:https://blog.csdn.net/fesdgasdgasdg/article/details/8095382...原创 2018-07-10 22:28:31 · 18526 阅读 · 1 评论 -
Eclipse创建Web项目
以前使用MyEclipse已经习惯了,后来改成Eclipse感觉怪怪的。如果使用Eclipse创建的web想,还是保持MyEclipse一样的项目结构(即发布到tomcat后的项目结构),请注意下面新建项目过程。1、如图1。点击新建Dynamic Web Project选项。2、如图2。注意Dynamic web module version值,我习惯了使用2.5版原创 2017-12-10 16:05:47 · 20018 阅读 · 0 评论 -
Eclipse常用设置
1、新建Java文件时的自动头信息注释设置:Windows->Preferences->java->code style->code Templates->code->New Java Files双击此选项,修改内容如下:${filecomment}${package_declaration}/** * @Author: duke * @Date: ${date原创 2017-12-10 15:59:25 · 16270 阅读 · 0 评论 -
Eclipse创建Tomcat服务
1、如下图1。在Eclipse的Servers选项卡中,右键-new-server。如果是第一次创建,则点击此窗口第一行的蓝色提示文本即可。2、如下图2。选中对应的tomcat版本(比喻你安装的tomcat版本为8.xxx,就选窗口中的Tomcat v8.0 server),下一步,直到结束。3、如下图3/4。在创建好的tomat服务上,右键-Properties,点击Sw原创 2017-12-10 16:02:52 · 17395 阅读 · 0 评论 -
Java Swing扫雷游戏demo分享
好多年前写过简略的扫雷游戏,模拟windows的。后来由于多次搬迁环境,弄丢了,遗憾不已啊。于是趁着这两年还在编程的道路上,趁热再次编写了一次,同时也扩展了功能,更接近windows的扫雷。此次重写是用java swing实现的(eclipse开发),考虑到各位看客可能大部分是android岗位,于是我着重注意了功能结构化的处理,使游戏核心算法与UI分离,使用回调交互,便于迁移到androi...原创 2017-06-11 22:49:20 · 23111 阅读 · 13 评论 -
intellij idea 导出可执行jar
最近开始转到intellij idea上做java开发了,尝试下新鲜事物,别人都在用呢。今天写一个java工具时,想打包成可执行的jar文件,发现犯难了,不知道怎么弄,网上搜索一番,总是看的云里雾里的。经过一番折腾,搞定了,记录下来一起分享。步骤开始(注意上图搭配下文的说明)选择开发工具左上角File菜单,选择Project Structure...在Pro原创 2017-06-21 22:46:38 · 54179 阅读 · 0 评论 -
Java内存堆栈分析
java中有如下地方可以存储数据:1.寄存器:最快的存储区, 由编译器根据需求进行分配,我们在程序中无法控制。2.栈(堆栈,stack):存放基本类型的变量数据和对象的引用(包括字符串对象的引用,因为String是类),但对象本身不存放在栈中,而是存放在堆(new 出来的对象,除String对象)或者常量池中(String常量对象存放在常量池中)。3. 堆(heap):存放所有new出原创 2016-07-03 21:15:35 · 16989 阅读 · 2 评论