![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
纳木错没有错
明天的你是否会感谢今天的自己?
展开
-
spring boot 入门 之用idea创建spring boot 项目
1.请按照截图方式来创建(idea版本为2019.3.1,应该是到目前2020.1.29的最新版本)。123.4。这里说一下,新手选择一个web - spring web即可5点击finish即可...原创 2020-01-29 13:07:51 · 228 阅读 · 1 评论 -
第23次讨论
2020年1月日15日 23.59.59截止 【第23次讨论主题:JDK版本】1)你用过最新的JDK版本是什么?(只要用过)jdk82) 最新的版本中有什么功能你觉得是惊艳到你的。这里的“最新的版本”,我就当做是我用过的最新的JDK8了。最惊艳的,我认为是stream 了。Java 8 API添加了一个新的抽象称为流Stream,可以让你以一种声明的方式处理数据。首先流的获取(...原创 2020-01-02 21:06:07 · 208 阅读 · 1 评论 -
2种方式打开jar文件
1.桌面操作(要先安装JDK/JRE)对 “.jar”文件右击:然后点击这个“浏览”然后找到你安装JDK的文件,找到Java.exe,然后选中,然后用这个打开就好。2.用cmd(dos)命令打开我试过上述方法去打开我的jar文件,但没用,暂时没用找到原因,于是用命令打开1.先检查Java是否正常安装,输入java -version即可2.用命令+ 目录地址的...原创 2019-12-02 11:10:51 · 66120 阅读 · 3 评论 -
0与0.0
1)1.0/0的结果是什么?为什么?1.0/0的结果是Infinity(正无穷大),1.0是浮点数,0是整数,作除法时,0会转变为0.0,这里的0.0不是整数“0”,是一个无限接近0的小数,所以会得到无穷大这个结果。2)0/0的结果是什么?为什么?这里的结果会得到异常:java.lang.ArithmeticException: / by zero。两个0都是整数,机器在执行除法时,如果 ...原创 2019-10-16 00:20:34 · 804 阅读 · 0 评论 -
浅谈Spring框架,自动注入对象IoC/DI的过程(二)
在上一篇博客中,我已经写到怎么用自动注入的对象了。可能我说的不是太清楚,有些朋友还不是很明白,那么这次我们结合service层调用DAO层的方法,再详细说说怎么随心所欲的使用对象。先看一下代码:import xxx.xxx.dao.UserDao//把要使用的对象(类)引进来@service//讲UserService标注为服务层的bean,以后在其他层就可以随时注入成为对象了pu...原创 2018-11-08 20:54:25 · 188 阅读 · 0 评论 -
java对象初始化过程
假设有一下类:class Test{ int i; int j = 0; int count(){ return 0 }; Test() {} int n =0;}我们知道,任何对象在使用前都会被初始化,方法里面的局部变量必须给初始化值才能通过编译。现在我们来讨论一下初始化的过程:对于字段(变量)而言,如果是基本类型,那么...原创 2018-11-15 22:34:38 · 781 阅读 · 0 评论 -
再谈Java对象:“=”的大坑
开始之前,我们先来看一段代码:class Tank{ int level;}public class assingment{ public static void main(String[] args) { Tank tank1 = new Tank(); Tank tank2 = new Tank(); t1.l...原创 2018-11-14 21:48:19 · 237 阅读 · 0 评论 -
java 打印Javabean的无值属性
描述:在数据库中取出了一个对象,该对象的contractNo字段在数据库中为null,那么在代码中该字段打印出来是什么样?null打印出来是null,但在204行,如果打印的是supplierInfo.getTransportContractNo().toString(),,则会报空指针错误在项目中,我们可能要把这个属性通过map返回到前端页面,如果是null则返回“ ”的话,可以通...原创 2018-11-16 11:14:36 · 760 阅读 · 0 评论 -
Java 访问修饰符的起源和作用
最近在看《Java编程思想》,这本书的确没有被过誉,是真正的Java第一书籍,当然,初学者还是不建议看,因为如果没有实际经验,很多地方就不能和作者产生“共鸣”。按照作者在书中所说的,访问修饰符最初出现的目的,是为了像客户端程序员指明那些代码是可用的,那些是不可用的,和重构代码有关,对此本文不作深入讨论。在开始之前,我们先说几个很大众的“常识”:package(包):库单元,包内包含有一...原创 2018-11-20 21:17:22 · 1002 阅读 · 0 评论 -
浅谈Java static 关键字
虽然已经工作了,但我还是想扎实一下Java的基本功,拿起了刚学Java时买的《Java编程思想》来看看。果然是神书,受益匪浅,尽管它的版本很落后,但一些基础性的问题能让人有醍醐灌顶的感觉,本片博客大部分内容源自《Java编程思想》中文版。static,意为静态的。1.从对象说起我们用new关键字来创建对象时,数据存储空间才被分配,这个对象的方法才供外界调用。但有两种情况上述方法是解决不...原创 2018-11-13 23:13:44 · 164 阅读 · 0 评论 -
java String 转 double
Double.parseDouble(String)原创 2018-11-05 15:13:12 · 25168 阅读 · 2 评论 -
浅谈Spring框架,自动注入对象IoC/DI的过程(一)
写在前面的话:学java已经好一段时间了,从大三开始,但现在毕业后在500强国企的子公司上班,一心觉得自己还是很喜欢专研技术的,什么东西都想学,各种资料收集了一大堆,但真正去看的却没几个。由于公司开发的项目都是给自己公司的业务员用的,我现在手上的EC项目真的是从jdbctemplate,到hibernate,再到mybatis,还有我没有听说过的很老的ORM框架都有了,导致项目混乱,领导也不敢推翻...原创 2018-11-07 22:33:53 · 398 阅读 · 0 评论 -
打印PDF文件 报错:Invalid nested tag br found, expected closing tag
在打印HTML、jsp等页面为PDF时,显示了Invalid nested tag br found, expected closing tag XX等信息的话,说明你的标签没有正确的闭合。比如:<tr> </td>,一定要仔细检查要打印的页面标签,这里有一个问题,那就是换行符号<br>怎么解决。如下:<div> <p> ...原创 2018-11-02 16:32:42 · 9669 阅读 · 0 评论 -
把元转换为万元 (jsp页面 formatNumber的应用)
这个问题转化一下就是把数字除以10000,见代码:<fmt:formatNumber value='${prj.projectTotalMoney/10000}' pattern='##0'/>万元prj的class的projectTotalMoney属性为double类型:private Double projectTotalMoney; // 项目总额jsp数...原创 2018-11-09 17:34:05 · 2737 阅读 · 0 评论 -
jsp页面用jstl表达式格式化时间
<fmt:formatDate value="${transOrderInfo.createTime}" type="date" pattern="yyyy-MM-dd HH:mm"/>你想要什么格式的时间,对 pattern="yyyy-MM-dd HH:mm" 更改就行,比如改成 pattern="yyyy-MM-dd",这样就只显示年月日了...原创 2018-11-06 10:10:38 · 498 阅读 · 0 评论 -
java 字符串拼接为什么不能用null
自己写代码的时候,第一次用String str= null;然后去拼接字符串,在查询的时候报错,debug检查出来,最终的参数字符串str里面居然有null,如图: 所以拼接字符串不能用null,原因如下:s = s+"word"; 等价于 s = String.valueOf(s)+"word"; Integer,Double都一样。//jdk源码public stat...原创 2018-10-24 14:57:26 · 5506 阅读 · 1 评论 -
从访问修饰符的角度看单例模式
自己终于还是进入到设计模式这个领域了,比自己想象的快了一些。以前也学过、了解过一些模式,但看了之后又,本科毕业找工作面试的时候会看一下单例(这个最常考),但背过之后又会忘记,完全写不处代码来。后来自己反思了一下,是自己的Java基础不到位,就和高中学数学一样,对于同一个题目,一般学生能找出1一条有用信息,对于优生来说,往往能得到好几个有用的信息,Java也是同样的道理,学习就是要多看(书、优秀的代...原创 2018-11-20 22:09:56 · 168 阅读 · 0 评论 -
maven入坑:one of its dependencies could not be resolved
如图:在pom中出现这样的错误。如果你已经试过了maven(强制)更新jar包,并且没有用的话,可以找到对应的xml文件,去对比xml里面的数据是否正确,通常检查一下你jar下载的分区是否存在,我就是只有一个C盘但xml里面写的是其他盘导致不能正常下载jar。...原创 2019-02-28 20:29:07 · 9095 阅读 · 0 评论 -
从面试的角度看单例模式
去年底我写了单例模式的博客请见https://blog.csdn.net/qq_39767955/article/details/84310120,我就以为我对单例模式的理解已经差不多了,却没有想到在几个月的时间里面,又对Java(编程)有了新的思考。回到主题,设计模式几乎是Java面试官必问的问题之一,而且单例模式又是被回答的最多的模式,一方面是单例模式相对简单,方便手写,另一方面当...原创 2019-02-20 19:11:45 · 179 阅读 · 0 评论 -
jdk 1.8 String
1)String变量到底存储在哪里?(JDK8) JDK1.8版本中,String常量池已经从方法区中的运行时常量池分离到堆中了,那么在堆中的String常量池里存的是String对象还是引用呢?答案是对象。例子1:String s1 = "abc";String s2 = "abc";System.out.println(s1==s2); // trueJVM首先会去字符串池中查找...原创 2019-08-21 20:12:27 · 953 阅读 · 2 评论 -
java容器与tomcat(1)-http和服务器
注:本文是极客时间,李号双老师的课程《深入拆解Tomcat & Jetty》的学习笔记,部分内容会按照课程的原文摘抄记录下来,同时也会记录自己的一些学习心得。文章是总结,记录的是精华,不会很详细的解释其中内容,如有需要,请查看李老师的原文。1.HTTP 的本质 HTTP 协议是浏览器与服务器之间的数据传送协议,http是应用层协议,基于tcp/ip协议来传输数据,这里的数据...转载 2019-07-02 20:37:54 · 278 阅读 · 0 评论 -
堆?栈?常量池(一)
作为Java程序员,了解堆和栈,是最基础的基本功。一句话总结堆和栈的作用,就是:堆放对象栈放常量,当然,栈也放了其他一些东西,比如基本类型。 今天说说常量池,这东西是jdk1.5提供的一个“缓存池”,包装类型Integer 在赋值时,比如Integer a = 10,这个时候我们会考虑,这个a是个对象吧,那它应该存放在堆里面咯,但事实是这样吗?当a的范围在-128...原创 2019-07-10 19:59:25 · 244 阅读 · 0 评论 -
java容器与tomcat(2)-处理http请求的专家"servlet"
在上一篇我们说的到,浏览器发起请求后,通过http协议,服务器会收到请求。那么服务器是怎么接收和处理请求的呢?这篇博客就来谈论一下这个问题。1.http服务器收到http请求后,会调用服务端程序来处理这个请求,这些程序,就是我们写的Java类。2.定义servlet接口来专门处理这些请求。3.Servlet 容器用来加载和管理业务类(实现servlet接口的类);HTTP 服务器不...转载 2019-07-02 21:29:00 · 284 阅读 · 0 评论 -
ThreadLocal
先谈谈自己对ThreadLocal的认识:ThreadLocal是JDK 1.2的版本中提供java.lang包下提供的类,但把它理解成一个存储变量的集合或者局部变量会好一点。这个局部变量与一般的成员变量不一样,ThreadLocal的变量在被多个线程使用时候,每个线程只能拿到该变量的一个副本。其主要的作用是:ThreadLocal不是为了解决多线程访问共享变量,而是为每个线程创建一个单独的变...原创 2019-07-02 11:43:08 · 1616 阅读 · 0 评论 -
Synchronized和锁的分类
Synchronized关键字大家都模式,这篇我总结的不在于其运用,而在于锁的思想。1.公平锁/非公平锁公平锁是指多个线程按照申请锁的顺序来获取锁。非公平锁是指多个线程获取锁的顺序并不是按照申请锁的顺序,有可能后申请的线程比先申请的线程优先获取锁。有可能,会造成优先级反转或者饥饿现象。Synchronized是非公平锁。2.可重入锁可重入锁又名递归锁,是指在同一个线程在外层方...原创 2019-04-25 15:35:17 · 917 阅读 · 0 评论 -
Java IO读取文件,写入文件
一、Java把这些不同来源和目标的数据都统一抽象为数据流。 Java语言的输入输出功能是十分强大而灵活的。 在Java类库中,IO部分的内容是很庞大的,因为它涉及的领域很广泛:标准输入输出,文件的操作,网络上的数据流,字符串流,对象流,zip文件流。 这里介绍几种读写文件的方式二、InputStream、OutputStream(字节流) //读取文件...转载 2019-04-22 23:00:55 · 1409 阅读 · 1 评论 -
eclipse(MyEclipse)解决java.lang.OutOfMemoryError: PermGen space的方法,亲测有效
最近老是遇到内存溢出,估计是项目太大了。永久区又不会被JVM回收,只改改启动参数了。1.双击你的Tomcat,打开参数区2.在参数里面写入一下参数即可 -Xms512m -Xmx512m -XX:PermSize=512M -XX:MaxPermSize=512m...原创 2019-04-09 20:10:17 · 1457 阅读 · 0 评论 -
同一个项目能否有相同类名的类注入JavaBean里面?
如果一个项目中,有相同类名的类(jar包不算),只要两个类的内容不相同,是可以放入spring容器的,原因是jvm在加载类的时候是按照全限类名去加载对象的。但最好不要有相同的类名的类。...原创 2019-04-12 20:11:30 · 2560 阅读 · 0 评论 -
手动停止Tomcat报错:java.net.ConnectException:Connection refused:connect
这两天遇到这个问题,手动停止Tomcat报错,就是听不下来,只好关闭IDE(MyEclipse)再重启,但一直这样下去也不是办法,我就去搜索了一下怎么解决,发现真正相关的博客只有几篇,有些还明显不是我想要的处理方式。后面我参考了几篇后,终于解决了,这里记录先来。首先说一下,造成误导IDE不能关闭Tomcat的原因是有一个相关端口被QQ浏览器的一个.exe文件名占用了,如果你安装了QQ浏览器,下面的...原创 2019-03-26 09:44:14 · 1764 阅读 · 0 评论 -
写枚举报错
今天遇到写枚举报错,不多说,看图:想不通,没有写错呀。再仔细看看,发现是“语法”不对,我在182-184行添加了一个枚举后,那么180行的分号要变成逗号“ ,”才合适。ok,搞定。...原创 2019-03-22 09:20:46 · 1082 阅读 · 3 评论 -
面向接口编程(1)
我们先来看一段代码:@Autowired private ISzglLsjyService lsjyService;............ public Object getLbInfo(IQueryInfo qp) { //省略逻辑过程 return lsjyService.getLsjysqJls(qp, lsjySearchExtVo...原创 2019-03-11 18:22:34 · 105 阅读 · 0 评论 -
避免空指针的最根本办法
空指针异常可以说是新人新手最容易犯的错误了,解决起来也不难:仔细看控制台空指针报错的地址,去检查数据源就行。如果不要要空指针出现,那么我们在写代码的时候,就一定要对(可能)为空的数据进行判断:比如这样子:用if进行null判断List<PgTransOrderInfo> transOrderlist =(List<PgTransOrderInfo>)rep.g...原创 2018-10-10 19:47:52 · 4627 阅读 · 0 评论 -
java 字符串替换、删除某些字符
这是一个老生常谈的话题,用String.replace("-", "")方法:第一个参数是你要替换的字符,第二个参数是用于取代旧字符串的新字符。下面谈一谈那些场景用到的比较多:去掉字符串中多余的字符,比如吧abc变成ac,这样写就好了.replace("b", ""),第二个参数为"",这里就有一个问题,如果原字符串里面有多个要去掉的字符,比如abcabc,我都要去掉b,我需要些两次这...原创 2018-10-10 19:33:38 · 37964 阅读 · 0 评论 -
java eclipse等IDE 鼠标对准自己的方法时显示该方法的说明 的做法
要实现下面的功能,在鼠标对准自己写的方法时显示该方法的说明我们在写方法的时候加上对应的注释就好了: /**作废指令单,更新XXX_info表中状态为“4” * hahaha * @param id */ public void abolishTransportOrder(String id) throws ECBaseDAOException{}这里要注意,...原创 2018-09-30 10:24:00 · 428 阅读 · 0 评论 -
tomcat解压后文件夹目录分析说明
以上是常见的Tomcat解压后的目录,具体的作用如下:bin:二进制执行文件。里面最常用的文件是startup.bat,如果是 Linux 或 Mac 系统启动文件为 startup.sh。 conf:配置目录。里面最核心的文件是server.xml。可以在里面改端口号等。默认端口号是8080,也就是说,此端口号不能被其他应用程序占用。 lib:库文件。tomcat运行时需要的jar包...原创 2018-08-07 08:38:43 · 1457 阅读 · 0 评论 -
最简单的ajax post方法的使用
一下方法经本人亲测有效!在项目中遇到了ajax,可是ajax的写法有很多,我在这里选出最简单的写法,其实是jQuery提供的,屏蔽了不同浏览器的差异,万恶的IE,唉。先说一下需求,简化了的:点击按钮,跳转到另一个页面(网页上的整个页面有大的框架,头部和左边菜单栏不变,这里说的跳转页面是指右下部分页面的变化,还不明白的去看看CSDN首页,变化的是中间部分)//省略点击事件functi...原创 2018-08-14 16:06:07 · 2736 阅读 · 0 评论 -
图解ConcurrentHashMap
曾经研究过jkd1.5新特性,其中ConcurrentHashMap就是其中之一,其特点:效率比Hashtable高,并发性比hashmap好。结合了两者的特点。 集合是编程中最常用的数据结构。而谈到并发,几乎总是离不开集合这类高级数据结构的支持。比如两个线程需要同时访问一个中间临界区(Queue),比如常会用缓存作为外部文件的副本(HashMap)。这篇文章主要分析jdk1.5的3种并发集...转载 2018-08-10 15:24:09 · 29266 阅读 · 6 评论 -
新手快速寻找”前端网页’,JSP和.java后台代码示例
大半年没有写Java代码,没有用eclipse家族的开发工具了,很是怀念用VS写C#,那种一站到底式的开发感觉不要太舒服,但我天生是一个爱折腾的人儿呀。新公司的大牛让我看公司电子商务网站的代码,大脑过了好久才慢慢找到感觉,这里给大家示例一下怎么样快速找到想要的页面和后台代码组合(大牛可以忽略)。以一个查询按钮为例前端网页:鼠标右键对准按钮,查看源码------在源码页面找到这个button的ID,...原创 2018-07-16 10:13:32 · 11087 阅读 · 5 评论 -
浅谈JavaBeansh和IoC
什么是Javabean?对于初学者或者初级程序员来说,这个概念是模糊不清的,在很长一段时间内,我只能简单的把它理解成“对象”这个概念,到后来的POJO(普通的Java对象,仅有属性和方法,没有GET/SET方法,也没有为空的构造函数),我记得当时那两天我一直在找各种资料,尝试去理解Javabean,后面对它的理解又到了“容器”着一个阶段,被容器管理起来的Java对象,就是Javabean,...原创 2018-07-25 17:31:10 · 213 阅读 · 0 评论 -
Java学习路线----内外兼修
告别了C#重新回到Java开发,是一件很高兴的事,这两天一直在思考要怎么去学习Java,我也是Java新人,对Java的技术还停留在简单的框架的“copy”使用上,现在把自己的思路写下了,若干年后再来看看自己是否按照自己规划的路学习的。 编程是一个很简单的东西,你只需要按照别人已经做好的框架,按照别人的例子去开发项目就可以,就像抄作业一样,本身没有什么技术难点。对此,在掌握好Ja...原创 2018-07-19 11:44:44 · 154 阅读 · 0 评论