JAVA - 技术教程文章

Java中==和equals()的区别【图】

Java中==和equals()在Java中,equals和==都是用于检测两个字符串是否相等,返回类型也都是boolean值,但是二者内部处理却不一样。==:==是java中的一个二元操作符,用于比较原生类型和对象,比较基本数据类型时较为好理解;比较规则:两个对象基于内存引用,若两个对象的引用完全相同,则==返回的结果为true。 equals( )方法是Object( )类中,根据具体的业务逻辑来定义该方法,用于检查两个对象的相等性。默认是equals方法实现与==操...

javase 基本运算符和三大流程

范围:-(2 ^ 字节 X 8 - 1)~(2 ^ 字节 X 8 - 1)- 1主要区别是数据大小范围:1. byte 一个字节 -128 ~ 1272. short 两个字节 -32768 ~ 327673. int 四个字节 -2147483648 ~ 21474836474. long 八个字节 5.char 两个字节(可以放汉字) 结论:在java中,对char进行运算的时候,直接当做ASCII码对应的整数对待.1.基本数据类型转换自动转换int a = 1.2; double = 3;结论:数据类型可以自动地从...

用java编写一个程序,来验证用户输入的数是不是2的阶次方

?1234567891011121314151617181920212223242526272829303132333435363738394041packagecom.stella; importjava.io.BufferedReader;importjava.io.IOException;importjava.io.InputStreamReader;/** * 获取用户输入的数 * @author Administrator * */publicclassGetUserInput { privatestaticString str; /** * 获取用户输入 */ privatestaticvoidgetUserInput(){ BufferedReader rb = newBufferedReader(n...

【java开发】面向对象初步认识与基础概念讲解

简单的把前面的java基础知识讲了,接下来就开始面向对象的旅程了。对象(Object):简而言之,世界是由对象组成的,一切可见的事物吧类(class):说白了就是把具有相同的一些特征或是属性归为一类对象具有的:静态特性:属性,变量等动态特性:方法,即函数简单的例子:把一个人当成对象,具有的属性有身高,性别,年龄等,具有的方法如吃饭,学习等;而人类就可以当成这个对象的类,java中class是类的关键字。上述描述可用java代...

Java并发编程-生成唯一序列号

所用到的并发编程库import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.locks.ReentrantReadWriteLock;package com.league.idgenerate;/*** * ID生成器接口, 用于生成全局唯一的ID流水号* * @author Ivan.Ma*/ public interface IdGenerator {/*** 生成下一个不重复的流水号* @return*/String next();} package com.league.idgenerate;/*** ID生成器的配置接口* @author Ivan.Ma*/ public interface ...

java 动手动脑之父子继承【代码】

1.构造函数的主要作用是什么?在创建对象时初始化对象,为对象成员变量赋初值。调用时:子类——>父类——>祖类输出时:祖类——>父类——>子类在子类调用构造函数时必须调用父类的构造函数,因为子类的构造器在实例化时无法找到父类的构造器2.自行编写代码测试以下特性:在子类中,若要调用父类中被覆盖的方法,可以使用super关键字. 1publicclass FatherAndSon {2 3publicstaticvoid main(String args[]) {4 FatherAndSon...

Java内部类与向上转型

https://blog.csdn.net/lenfranky/article/details/84327721这个博客写的非常好,可以学习一下原文:https://www.cnblogs.com/xiaobaidashu/p/12106714.html

了解注解及java提供的几个基本注解

先通过@SuppreessWarnings的应用让大家直观地了解注解:通过System.runFinalizersOnExit(true);的编译器警告引出 @SuppressWarnings(“deprecation”) @Deprecated直接在刚才的类中增加一个方法,并加上@Deprecated标注,在另一个类中调用这个方法。 @Overridepublic boolean equals(Reflect other)方法与HashSet结合讲解 总结—jdk1.5新特性注解相当于一种标记,加上了注解就等于打上了某种标记,没加,则等于没有某种标...

用了这么多年的 Java 泛型,你对它到底有多了解?【代码】【图】

作为一个 Java 程序员,日常编程早就离不开泛型。泛型自从 JDK1.5 引进之后,真的非常提高生产力。一个简单的泛型 T,寥寥几行代码, 就可以让我们在使用过程中动态替换成任何想要的类型,再也不用实现繁琐的类型转换方法。虽然我们每天都在用,但是还有很多同学可能并不了解其中的实现原理。今天这篇我们从以下几点聊聊 Java 泛型:Java 泛型实现方式类型擦除带来的缺陷Java 泛型发展史 Java 泛型实现方式Java 采用类型擦除(Type...

Java--运算符【图】

1、逻辑运算符1、 与:要求所有人都投票同意,才能通过某议题2、 或:只要求一个人投票同意就可以通过某议题3、 非:某人原本投票同意,通过非运算符,可以使其投票无效4、 异或:有且只能有一个人投票同意,才可以通过某议题当使用逻辑运算符时,我们会遇到一种很有趣的“短路”现象。譬如:( one > two ) && ( one < three ) 中,如果能确定左边 one > two 运行结果为 false , 则系统就认为已经没有必要执行右侧的 one < three 啦...

java ThreadLocal的理解【代码】【图】

早在JDK 1.2的版本中就提供java.lang.ThreadLocal,ThreadLocal为解决多线程程序的并发问题提供了一种新的思路。使用这个工具类可以很简洁地编写出优美的多线程程序。  当使用ThreadLocal维护变量时,ThreadLocal为每个使用该变量的线程提供独立的变量副本,所以每一个线程都可以独立地改变自己的副本,而不会影响其它线程所对应的副本。  从线程的角度看,目标变量就象是线程的本地变量,这也是类名中“Local”所要表达的意思...

java:String不是基本类型,不是数组,是类,而数组也是类【代码】

环境:jdk 1.7。本文可以用一句话总结:**String不是基本类型,不是数组,是类,而数组也是类。**由于脚本语言使用较多,我在java中也写过这样的代码:String str = "hi"; System.out.println(str[1]); // 错误的 可惜是错的。str是java.lang.String类的一个对象,无法使用 []运算符。真正可用的代码是这样的: String str = "hi"; System.out.println(str.charAt(1)); 数组是类—请参考java:反转数组,以及System.out的实现机制...

java中使用 redis (转载)【代码】

jedis是一个著名的key-value存储系统,而作为其官方推荐的java版客户端jedis也非常强大和稳定,支持事务、管道及有jedis自身实现的分布式。在这里对jedis关于事务、管道和分布式的调用方式做一个简单的介绍和对比:一、普通同步方式最简单和基础的调用方式,@Test public void test1Normal() { Jedis jedis = new Jedis("localhost"); long start = System.currentTimeMillis(); for (int i = 0; i < 100000; i++) { ...

【转-整理】JavaWeb框架中,各层的解释和关系

什么是POJO 按照Martin Fowler的解释是“Plain Old Java Object”,从字面上翻译为“纯洁老式的java对象”,但大家都使用“简单java对象”来称呼它。POJO的内在含义是指那些没有从任何类继承、也没有实现任何接口,更没有被其它框架侵入的java对象。 pojo和javabean的比较pojo的格式是用于数据的临时传递,它只能装载数据, 作为数据存储的载体,而不具有业务逻辑处理的能力。而javabean虽然数据的获取与pojo一样,但是javabean当...

深入分析Java ClassLoader原理【图】

一、什么是ClassLoader? 大家都知道,当我们写好一个Java程序之后,不是管是CS还是BS应用,都是由若干个.class文件组织而成的一个完整的Java应用程序,当程序在运行时,即会调用该程序的一个入口函数来调用系统的相关功能,而这些功能都被封装在不同的class文件当中,所以经常要从这个class文件中要调用另外一个class文件中的方法,如果另外一个文件不存在的,则会引发系统异常。而程序在启动的时候,并不会一次性加载程序...

[LeetCode][Java] Surrounded Regions【代码】

题目:Given a 2D board containing ‘X‘ and ‘O‘,capture all regions surrounded by ‘X‘.A region is captured by flipping all ‘O‘s into ‘X‘sin that surrounded region.For example,X X X X X O O X X X O X X O X X After running your function, the board should be:X X X X X X X X X X X X X O X X题意:给定一个2维平面包含‘X‘ 和 ‘O‘,填充所有的被‘X‘包围的区域.比如,X X X X X O O X X X O X X O X X...

Java 异常分类【图】

1.java异常层次结构:粉红色的是已检查异常(checked exceptions),其必须被 try{}catch语句块所捕获,或者在方法签名里通过throws子句声明.已检查异常必须在编译时被捕捉处理,命名为 CHecked Exception 是因为Java编译器要进行检查,Java虚拟机也要进行检查,以确保这个规则得到遵守. 绿色的是未检查异常(unchecked exceptions),需要程序员自己分析代码决定是否捕获和处理,比如 空指针,被0除... 声明为Error的,属于严重错误,需要...

Java线程核心基础(上)【代码】【图】

Java线程核心基础(上)一、实现多线程  根据Oracle官方文档,目前推荐的创建线程方法主要有两种,分别是继承Thread类和实现Runnable接口。通过阅读Thread类源码,可以发现继承Thread类需要重写run()方法,而实现Runnable接口会将自己实现的对象在new Thread()时,通过Thread构造函数传给Thread类中的target对象,并在调用run()方法时调用target.run(),下面让我们看源码。/* What will be run. 这是Thread类中的target对象 */ p...

java实训一——词频统计【代码】【图】

---恢复内容开始---驾驶员:葛晨延(16012010)领航员:张广哲(16012007)码云:https://gitee.com/happywindmannn/GCYshixun1/tree/master实训过程照片: 1import java.io.*;2import java.util.*;3import java.io.BufferedReader; 4import java.io.FileReader; 5import java.util.ArrayList; 6import java.util.Map;7import java.util.List; 8import java.util.Map.Entry; 9import java.util.TreeMap; 10publicclas...

Java基本基础【图】

之前学习了.net,感觉还好,不过发现了几句话很有含义:有的女人就是Windows虽然很优秀,但是安全隐患太大。 有的女人就是MFC她条件很好,然而不是谁都能玩的起。 有的女人就是C#长的很漂亮,但是家务活不行。 有的女人就是C++,她会默默的为你做很多的事情。 有的女人就是汇编虽然很麻烦,但是有的时候还得求它。 有的女人就是SQL,她会为你的发展带来莫大的帮助。不过现在是学Java了,今天通过学习了Java的,简单的描述java语法:...

20181126-java-面试知识-收集

链接:最近面试java后端开发的感受:如果就以平时项目经验来面试,通过估计很难——再论面试前的准备两本书的链接:Java Web轻量级开发面试教程和Java核心技术及面试指南。 原文:https://www.cnblogs.com/Tpf386/p/10018980.html

Java web----Filter之粗粒度权限控制

1 说明我们给出三个页面:index.jsp、user.jsp、admin.jsp。index.jsp:谁都可以访问,没有限制;user.jsp:只有登录用户才能访问;admin.jsp:只有管理员才能访问。2 分析设计User类:username、password、grade,其中grade表示用户等级,1表示普通用户,2表示管理员用户。当用户登录成功后,把user保存到session中。创建LoginFilter,它有两种过滤方式:如果访问的是user.jsp,查看session中是否存在user;如果访问的是admin.jsp...

JavaScript-hash数组for in 函数【代码】

1什么是数组:内存中,连续存储多个数据的存储空间,再起一个名字为什么;2为什么:现实存储多个相关数据,都是集中存储,共同一个名字3 4 程序=数据结构+算法5好的数据结构可以极大的提高程序的执行效率6何时使用数组,今后只要连续存储多个相关的数据都要用数组7如何使用数组:8 9创建数组:3种 10一.创建空数组 11 1.创建空数组:var arr=[]; 12 2.用new: var arr=new Array(); 1314二.创建数组同时,初始化数组的数据: 15 1.数组直接...

JavaScript 实现页面中录音功能【代码】【图】

页面中实现录音需要使用浏览器提供的 Media?Recorder API,所以前提是需要浏览器支持 MediaStream Recording 相关的功能。以下代码默认工作在 Chrome 环境中。准备页面首先准备一个页面,其中内容很简单,两个按钮,一个用于录音,一个用于播放。<!DOCTYPE html> <htmllang="en"> <head><metacharset="UTF-8"><metaname="viewport"content="width=device-width, initial-scale=1.0"><metahttp-equiv="X-UA-Compatible"content="ie=...

推荐几款制作网页滚动动画的 JavaScript 库

这里集合了几款很棒的制作网页滚动动画的 JavaScript 库和插件。它们中,有的可以帮助你在页面滚动的时候添加动感的元素动画,有的则是实现目前非常流行的全屏页面切换动画。相信借助这些插件,你也可以让网站变得高大上起来。  ScrollReveal.js  ScrollReveal.js 用于创建和管理元素进入可视区域时的动画效果,帮助你的网站增加吸引力。只需要给元素增加 data-scrollreveal 属性,当元素进入可视区域的时候会自动被触发设置好...

java架构解密——Spring框架的ioc自我实现【图】

在java的开发中,经常使用的框架当属SSH,而在这张框架中,我们首先接触到的就是神奇的Spring,虽然有N多前辈说Spring就是N多公共代码的集合,是帮助我们实现了,我们很久之前就想实现或者已经实现的好的点子的集合,但是作为一名合格工程师,怎么能不懂spring的底层实现呢!在今天咱们就一起探索Spring是怎么完成IOC工作的,也自己做一个简单Spring框架!1,Spring中Bean的定义作用:在spring中使用的bean,都有某些公共属性,此类...

java基础——String和StringBuffer的区别

首先在java中有三个类来操作字符串:Character 是进行单个字符操作的;String 对一串字符进行操作。不可变类;StringBuffer 也是对一串字符进行操作,但是可变类String:是对象不是原始类型.为不可变对象,一旦被创建,就不能修改它的值.对于已经存在的String对象的修改都是重新创建一个新的对象,然后把新的值保存进去.String 是final类,即不能被继承.StringBuffer:是一个可变对象,当对他进行修改的时候不会像String那样重新建立对象它只...

weixin-java-tools之使用jssdk【代码】

1、一个方法搞定:@Controller @RequestMapping("jssdk") publicclass WeXinJsSdkController {@Autowiredprivate WxMpService wxMpService;@RequestMapping(value = "/config", method = RequestMethod.GET)@ResponseBodypublic WxJsapiSignature wxJsSdkConfig(HttpServletRequest request,String url) {try {WxJsapiSignature wxJsapiSignature = wxMpService.createJsapiSignature(url);return wxJsapiSignature;} catch (WxErr...

【java】io流之字符输入流:java.io.Reader类及子类的子类java.io.FileReader【代码】

1package 文件操作;2 3import java.io.File;4import java.io.FileReader;5import java.io.IOException;6import java.io.Reader;7 8publicclass TestReader {9publicstaticvoid main(String[] args) throws IOException { 10 File file=new File("D:"+File.separator+"test.txt"); 11/*File*/Reader reader=new FileReader(file);//也可以直接用FileReader类型的变量接收实例化对象,而无需使用向上转型。12if(file.exists(...

Java中的HashMap和Hashtable【代码】

代码: 1import java.util.*;2 3publicclass test{4 5publicstaticvoid main(String[] args)6 {7 8 HashMap hm = new HashMap();9 hm.put(null,null); 10 hm.put(null,null); 11 hm.put("a",null); 12 System.out.println(hm); 1314 } 15 }输出:{null=null, a=null} 分析:HashMap可以使用null作为key或者value,而Hashtable不可以。HashMap线程不安全,效率高;Hashtable线程安全...