前言 最近看了极客时间的<Java业务开发常见错误100例>,再结合平时踩的一些代码坑,写写总结,希望对大家有帮助,感谢阅读~ 1. 六类典型空指针问题 包装类型的空指针问题 级联调用的空指针问题 Equals方法左边的空指针问题 ConcurrentHashMap 这样的容器不支持 Key 和 Value 为 null. 集合,数组直接获取元素 对象直接获取属性 1.1包装类型的空指针问题 public class NullPointTest { public static void mai…
转自 http://blog.sina.com.cn/s/blog_ab345e5d01010zaq.html 算术异常类:ArithmeticExecption 空指针异常类:NullPointerException 类型强制转换异常:ClassCastException 数组负下标异常:NegativeArrayException 数组下标越界异常:ArrayIndexOutOfBoundsException 违背安全原则异常:SecturityException 文件已结束异常:EOFEx…
  在平时的开发过程中使用List的场景很多,你知道List的遍历有多少种方式?今天一起来梳理下List的几种遍历方式.这里以java.util.ArrayList为例来演示.   这里有一个最简单的测试类,里边有一个main方法 package com.my.template.service; import java.util.ArrayList; import java.util.Iterator; import java.util.List; /** * @date 2022/8/2 18…
(二)Java最重要的21个技术点和知识点之JAVA面向对象  写这篇文章的目的是想总结一下自己这么多年JAVA培训的一些心得体会,主要是和一些java基础知识点相关的,所以也希望能分享给刚刚入门的Java程序员和打算入Java开发这个行当的准新手们,希望可以给大家一些经验,能让大家更好学习和使用Java. 这次介绍的主要内容是和J2SE相关的部分,另外,会在以后再介绍些J2EE相关的.和Java中各个框架相关的内容. 经过这么多年的Java开发Java培训的一些经验,我觉得对于J2SE方面主要…
写这个专栏的缘起 之前我写过一篇博客:<朱晔的互联网架构实践心得S2E2:写业务代码最容易掉的10种坑>,引起的关注还是挺多的.后来和极客时间的编辑一拍即合决定以这个为题写一个专栏.其实所谓坑就是容易忽略但是不容易发现的问题,大部分生产事故都是发布.运维相关的配置引起,真正代码中的问题上线后产生问题的坑并不多,虽然我接触过很多生产事故,但是能提炼出写代码的坑的点不多.所以在内容整理方面我花了很多时间,最终我总结出100+的点,形成了这样一个30+文章的专栏. 专栏名字叫<Java业务开发…
转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/72566261 本文出自[赵彦军的博客] Java web 开发填坑记 1-如何正确的下载 eclipse Java web 开发填坑记 2-如何正确的创建一个Java Web 项目 在我们正确的下载了 Eclipse 之后,我们来创建第一个 Java web 项目.在创建 Java web 项目之前,我们需要做一些准备工作. 项目工作 1. 安装 jdk , 并且配置 Java…
一直以来,做 Java web 开发都是用 eclipse , 可是到 eclipse 官网一看,我的天 http://www.eclipse.org/downloads/eclipse-packages/ 那么多应该下载哪一个?这是一个问题? 其实 eclipse 为每一种开发者,都提供了不同的版本.…
 (一)Java最重要的21个技术点和知识点之JAVA基础  写这篇文章的目的是想总结一下自己这么多年JAVA培训的一些心得体会,主要是和一些java基础知识点相关的,所以也希望能分享给刚刚入门的Java程序员和打算入Java开发这个行当的准新手们,希望可以给大家一些经验,能让大家更好学习和使用Java. 这次介绍的主要内容是和J2SE相关的部分,另外,会在以后再介绍些J2EE相关的.和Java中各个框架相关的内容. 经过这么多年的Java开发Java培训的一些经验,我觉得对于J2SE方面主要就…
(三)Java最重要的21个技术点和知识点之JAVA集合框架.异常类.IO  写这篇文章的目的是想总结一下自己这么多年JAVA培训的一些心得体会,主要是和一些java基础知识点相关的,所以也希望能分享给刚刚入门的Java程序员和打算入Java开发这个行当的准新手们,希望可以给大家一些经验,能让大家更好学习和使用Java. 这次介绍的主要内容是和J2SE相关的部分,另外,会在以后再介绍些J2EE相关的.和Java中各个框架相关的内容. 经过这么多年的Java开发Java培训的一些经验,我觉得对于J…
(四)Java最重要的21个技术点和知识点之JAVA多线程.时间处理.数据格式  写这篇文章的目的是想总结一下自己这么多年JAVA培训的一些心得体会,主要是和一些java基础知识点相关的,所以也希望能分享给刚刚入门的Java程序员和打算入Java开发这个行当的准新手们,希望可以给大家一些经验,能让大家更好学习和使用Java. 这次介绍的主要内容是和J2SE相关的部分,另外,会在以后再介绍些J2EE相关的.和Java中各个框架相关的内容. 经过这么多年的Java开发Java培训的一些经验,我觉得对…
这是一篇mysql的学习笔记,整理结合了网上搜索的教程以及自己看的视频教程,看完这篇能够满足80%的日常开发了. 菜鸟教程:https://www.runoob.com/mysql/mysql-tutorial.html MySQL参考手册中文版:https://tool.oschina.net/apidocs/apidoc?api=mysql-5.1-zh 1 前言 1.1 什么是关系型数据库 MySQL 为关系型数据库. 关系数据库管理系统RDBMS(Relational Database…
很多开发者谈到Java多线程开发,仅仅停留在new Thread(...).start()或直接使用Executor框架这个层面,对于线程的管理和控制却不够深入,通过读<Java并发编程实践>了解到了很多不为我知但又非常重要的细节,今日整理如下. 不应用线程池的缺点 有些开发者图省事,遇到需要多线程处理的地方,直接new Thread(...).start(),对于一般场景是没问题的,但如果是在并发请求很高的情况下,就会有些隐患: · 新建线程的开销.线程虽然比进程要轻量许多,但对于JVM来说…
(五)Java最重要的21个技术点和知识点之网络编程.泛型.编程规范相关 写这篇文章的目的是想总结一下自己这么多年JAVA培训的一些心得体会,主要是和一些java基础知识点相关的,所以也希望能分享给刚刚入门的Java程序员和打算入Java开发这个行当的准新手们,希望可以给大家一些经验,能让大家更好学习和使用Java. 这次介绍的主要内容是和J2SE相关的部分,另外,会在以后再介绍些J2EE相关的.和Java中各个框架相关的内容. 经过这么多年的Java开发Java培训的一些经验,我觉得对于J2S…
1. 基本要求:Java 编程基础 有良好的 Java 语言编程基础,这是必须的,在讨论 Web 开发技术时提了一个 Java 编程基础的问题会被鄙视的. 2. 环境准备 (Eclipse + Tomcat) 选择一个你喜爱的Servlet容器,或者说大一点就是应用服务器,推荐 Tomcat .Resin 或者 Jetty 这些轻量级的产品.这三个产品下载 zip 包解压后就可以用了.如果你不熟悉 Tomcat 的话请不要使用 exe 版本的 Tomcat,那会徒增很多烦恼.也不建议在 Ecli…
作为一个从事 Java 开发的程序员,每天离不开编辑器的帮助.还记得刚开始学习 Java 编程的时候,使用 Eclipse 作为日常开发工具.后来工作以后,需要使用 Intellij IDEA,刚开始其实并不想怎么用.毕竟 Eclipse 已经足够强大,可以满足日常开发的需求,何必再花时间再去学习其他工具那.刚开始改变是困难的.但是没办法,公司强制使用,不得不去了解去使用.后来用了一段时间才发现 IDEA 是的真的强大. 真香啊~ 下面就来介绍一下本人觉得 IDEA 一些强大的功能. 文中提到的…
Java注解开发与应用案例 Annotation(注解)是JDK5.0及以后版本引入的,可以对包.类.属性.方法的描述,给被述对象打上标签,被打上标签后的类.属性.方法将被赋予特殊的“功能”:打个比喻,一个人如果学会飞,那这个人就是超人,所以如果给“人”这个对象打上了“会飞”的标签,那么这个人便成为“超人”.注解一般被框架解析和执行,新建立注解后,必须要有对应的框架解析和执行才有意义.下面举一个自定义注解例子: 自定义注解 它类似于新创建一个接口类文件,但为了区分,我们需要将它声明为@inter…
spark之java程序开发 1.Spark中的Java开发的缘由: Spark自身是使用Scala程序开发的,Scala语言是同时具备函数式编程和指令式编程的一种混血语言,而Spark源码是基于Scala函数式编程来给予设计的,Spark官方推荐Spark的开发人员基于Scala的函数式编程来实现Spark的Job开发,但是目前Spark在生产上的主流开发语言仍然是Java,造成这一事实的原因主要有以下几点: A.Java目前已经成为行业内的主流语言,社区相当活跃,相比于Scala而言,Jav…
一. Java 基础部分......................................................................................................21.一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制?.....22.Java 有没有 goto?......................................................................…
总结微信小程序开发中遇到的坑,一些坑你得一个一个的跳啊,/(ㄒoㄒ)/~~ 1,页面跳转和参数传递实例 首先说一下我遇到的需求有一个我的消息页面,里面的数据都是后端返回的,返回的数据大致如下,有一个是数据url是要控制跳转到哪个页面,可能是tab页面也可能是非tab页面,但是微信小程序中跳转到tab和非tab页面用的api不是同一个,但是在页面中渲染肯定是要用到循环的,难道要再多个参数来判断是跳转到tab页面还是非tab页面? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1…
很多技术开发人员喜欢追逐最新的技术,如Node.js, go等语言,这些语言只是解决了某一个方面,如只是擅长异步高并发等等,却在企业管理后台开发方面提供的支持非常不够,造成项目团队技术选项失败,开发后期进退两难,内部怨天尤人,情绪低落,项目失败不可避免. 而java语言是开发部标平台技术的非常理想的开发语言,因为他非常全面,各个方面的底层框架都有具备,高性能的socket通信框架比如netty.mina, 可以帮助你构建高并发大规模的Gps服务器,接入十几万的海量终端,之所以说全面,是因为我们不…
学习是个技巧活,关键是要找到重点的地方,新手在这方面的坑尤其多.看别人的教程一步一步的跟着做,隔几步就遇到一个新知识点,忍不住就百度往深处了解,一晃半天就过去了. 有的知识点要深入学习的,有的是了解下就行的.我个人感觉这个度的把握是最难的.当然这也是饶不过去的坑. 最近跟着网上的一个教程学习JAVA WEB开发,将中间遇到的坑和教训标记下: 1.JAVAC编译时,提示找不到自定义类的问题.(如果是用记事本编辑,用命令行Javac编译,需要 在环境变量中,设置CLASSPATH 指向你的class…
熟悉基于JSP和Servlet的Java Web开发,对Servlet和JSP的工作原理和生命周期有深入了解,熟练的使用JSTL和EL编写无脚本动态页面,有使用监听器.过滤器等Web组件以及MVC架构模式进行Java Web项目开发的经验. 1.说一说Servlet生命周期(非常重要) Servlet生命周期包括三部分: 初始化:Web容器加载servlet,调用init()方法 只执行一次 处理请求:当请求到达时,运行其service()方法.service()自动调用与请求相对应的doXXX…
前言:做ae开发大部分人都是用C#版,很少用到java版,本系列文章主要介绍java版ae开发的入门,对于ae接口的高级应用,可以看C#版相关文章 开发环境软件: Intellij IDEA 2018 java jdk 1.8 32位版 arcgis desktop 10.4.1 ArcObject sdk java 10.4.1 PS:本文要求读者有一定java开发基础,有jdk配置和idea使用经验,否则牵涉基础知识太多没法解释全 PS:本文使用的控件库是swing,swing是目前java…
PHP 比 Java 的开发效率高在哪? 现在很多互联网应用都是php开发的,在很多人的观念里已经把php与java分到了两个开发领域,php是互联网,java是企业应用. 都说php的开发效率高,更适合互联网快速发布的特点,但我一直 没感觉到php的开发效率比java到底高在哪,请说的具体一点,细节一点. PHP和MySQL是绝配,一开始就作为PHP开发的亮点而存在.PHP操作MySQL的方便性其他语言比不了. PHP跟Apache等服务器亦是绝配,一等支持.代码文件往服务器上一丢,爱咋整咋整…
IntelliJ IDEA 2019中文激活版已全新上线,intellij idea mac是目前编程人员最喜欢的Java集成开发环境,具备智能代码助手.代码自动提示.重构.J2EE支持.Ant.JUnit.CVS整合.代码审查. 创新的GUI设计等特色功能,配合强大的插件支持,是目前开发效率最快的IDE工具.intellij idea mac能够深入了解你的代码,分析你的代码,寻找所有项目文件和语言符号之间的连接.使用这些信息,它提供了深入的编码帮助.快速导航.聪明的错误分析,当然还有重构.…
Internet,人们通常称为因特网,是当今世界上覆盖面最大和应用最广泛的网络.根据英语构词法,Internet是Inter + net,Inter-作为前缀在英语中表示“在一起,交互”,由此可知Internet的目的是让各个net交互.所以,Internet实质上是将世界上各个国家.各个网络运营商的多个网络相互连接构成的一个全球范围内的统一网,使各个网络之间能够相互到达.各个国家和运营商构建网络采用的底层技术和实现可能各不相同,但只要采用统一的上层协议(TCP/IP)就可以通过Internet…
http://www.educity.cn/jiaocheng/j10259.html 1.2.1  JDk 简介 JDK是Sun公司在1995年推出的一套可以跨操作系统平台编译和运行Java程序的开发包.JDK包括JRE(Java的运行环境).Java的编译环境.Java工具集和Java类库.根据JDK的使用领域,还可以分为Java SE.Java EE和Java ME三套开发包. 其中Java SE主要用于桌面程序.服务类程序的开发: Java EE用于企业应用程序的开发(如Web.EJB等…
java web开发_购物车功能实现 之前没有接触过购物车的东东,也不知道购物车应该怎么做,所以在查询了很多资料,总结一下购物车的功能实现. 查询的资料,找到三种方法: 1.用cookie实现购物车: 2.用session实现购物车: 3.用cookie和数据库(购物车信息持久化)实现购物车: ========================================================================= 分析一下这三种方法的优缺点: 1.单纯有cookie实现…
生活中,我们需要掌控自己的时间,减少加班,提高效率:日常开发中,我们需要操作时间API,保证效率.安全.稳定.现在都2020年了,了解如何在JDK8及以后的版本中更好地操控时间就很有必要,尤其是一次线上BUG的发生,让小明更是深有体会. 背景 在Java8以前,每每操控时间,我们经常使用的类库就是Date,并且会通过SimpleDateFormat类对时间进行格式化.你可知道?Date类是一个可变类,SimpleDateFormat类也是线程不安全的,因此在多线程的场景下执行格式化操作时,就会发…
原文出处:公众号:编程大道 作者:walking 近期Java高级开发岗面试总结 哈喽大家好,我是walking,这是我的公众号:编程大道. 很久没和大家见面了,文章更新的速度略有延后.这个公众号断断续续的也维护了有三年了,其实实际开始专心维护的时间也就从1年多前开始的,总是忙于工作,没有太多的时间静下心来好好写,好在有400多个小伙伴关注着,不离不弃的,加油,继续努力. 上周抽空开放了一下招聘网站上的简历,抱着试一试的态度,主要是想检验一下自己这段时间学的怎么样,如果有好的工作机会还是会考虑一…