JAVA - 技术教程文章

Javase学习10-位运算符【代码】

位运算符本质都是针对二进制数0和1进行运算的,在使用位运算符时,会先将操作数转换成二进制进行位运算,再将结果转换成想要的进制数。1表示true,0表示false须知:负数在内存中是以补码的形式存储的负数的二进制数就是该负数对应正数的源码全部取反加1得到的补码源码: 00011110反码: 11100001补码: 11100010负数的源码就是补码除符号位外全部取反加1补码:11110011反码:10001100源码:10001101一、位运算符分类运算符运算例子运算...

Java中使用json时java.lang.NoClassDefFoundError: net/sf/ezmorph/Morpher问题解决【代码】【图】

下面代码:publicstaticvoid main(String[] args){JSONObject obj = new JSONObject();obj.put("msg", "HELLO");obj.put("path", "/pages/back/emp.jsp");System.out.println(obj);}如果遇到java.lang.NoClassDefFoundError: net/sf/ezmorph/Morpher异常,原因是缺少对应的jar包。将下面的包引入项目就可以了: 原文:http://www.cnblogs.com/kuillldan/p/7465269.html

sublime text 3 添加 javascript 代码片段 ( snippet )【代码】【图】

例如:新建console.log();的快捷键为 co环境:windows 7step1:Tools -> New Snippet 1<snippet> 2<content><![CDATA[consloe.log(${1:this});]]></content> 3<!-- Optional: Set a tabTrigger to define how to trigger the snippet --> 4<tabTrigger>co</tabTrigger> 5<!-- html file --> 6<!-- <scope>text.html</scope> --> 7<!-- css file --> 8<!-- <scope>source.css, source.less, source.scss, source.stylus</scope> --> ...

Java Error(五)【代码】【图】

出错结果如图所示 代码无打错名字等问题,出错原因,初学容器,使用Collection 时,忘记引入包。import java.util.*;import java.util.*;publicclass SetInterface {publicstaticvoid main(String []args){Set s = new HashSet();s.add("hi");s.add("leaf");s.add(new Name("f1","l1"));s.add(new Integer(199));s.add(new Name("f2","l2"));s.add("hello");System.out.println(s);} } 原文:https://www.cnblogs.com/leafh/p/8727...

(转)Java 详解 JVM 工作原理和流程【图】

作为一名Java使用者,掌握JVM的体系结构也是必须的。说起Java,人们首先想到的是Java编程语言,然而事实上,Java是一种技术,它由四方面组成:Java编程语言、Java类文件格式、Java虚拟机和Java应用程序接口(Java API)。它们的关系如下图所示:运行期环境代表着Java平台,开发人员编写Java代码(.java文件),然后将之编译成字节码(.class文件),再然后字节码被装入内存,一旦字节码进入虚拟机,它就会被解释器解释执行,或者是被即时...

Java中的private、protected、public和default的区别

(1)对于public修饰符,它具有最大的访问权限,可以访问任何一个在CLASSPATH下的类、接口、异常等。它往往用于对外的情况,也就是对象或类对外的一种接口的形式。(2)对于protected修饰符,它主要的作用就是用来保护子类的。它的含义在于子类可以用它修饰的成员,其他的不可以,它相当于传递给子类的一种继承的东西。(3)对于default来说,有点的时候也成为friendly(友员),它是针对本包访问而设计的,任何处于本包下的类、接...

Java8大排序算法【代码】【图】

一.冒泡排序  基本思想:通过对待排序序列此前向后,依次比较相邻元素的值,若发现逆序则进行交换,使得较大的值从前面移动到后面,     类似于水下的气泡一样(是所有排序算法中效率最低的) publicstaticvoid BobbleSort(int[] arr){/*冒泡排序,时间复杂度为O(n^2)*/if (arr == null || arr.length == 0){return;}int temp = 0; // 临时变量,用...

Java之浮点运算

Java中的浮点数计算主要涉及float和double,他们都采用IEEE754标准,实际上是用利用科学计数法来表达实数。实数表示分为三个域:?第一个域为符号域,0 表示数值为正数,而 1 则表示负数;?第二个域为指数域,指数部分。其中单精度数为 8 位,双精度数为 11 位。float单精度的指数范围为-127 和 127 之间。?第三个域为尾数域,其中单精度数为 23 位长,双精度数为 52 位长。float用32bit存储,double用64bit存储。 double成为双精度:...

Java排序需掌握算法 详解【代码】

package com.sxt.review;/*内部排序:(在内存)* 插入排序-->希尔排序* 冒泡排序-->快速排序* 选择排序-->堆排序* 归并排序* 基数排序* 外部排序:(排序过程需访问外存)*/import java.util.Arrays;publicclass TestSort {publicstaticvoid main(String[] args) {int[] arr = { 2, 45, 3, 0, 7, 9, 2, 88 };// BubbleSort(arr);// System.out.println("冒泡排序:"+Arrays.toString(arr));// ChoiceSort(arr);// System.out.prin...

【Java】【匿名内部类】【图】

/*  匿名内部类   就是内部类的简化写法。  前提:存在一个类或者接口   这里的类可以是具体类也可以是抽象类。格式:   new 类名或者接口名(){   重写方法;   }  本质是什么呢?    是一个继承了该类或者实现了该接口的子类匿名对象。*///接口 Studyinterface Study {   public abstract void read();   public abstract void write();}//抽象类 Playabstract class Play {   public abstract void kong...

java8实现的处理时间工具类(收藏)【代码】

1. 前期准备:① JDK:1.8② 编辑器:Eclipse③ Guava(创建集合的时候回用到,可以还原成JDK1.5的创建方式:new)2. 全部代码展示:package com.drew.util;import java.time.DayOfWeek; import java.time.LocalDate; import java.time.LocalDateTime; import java.time.LocalTime; import java.time.MonthDay; import java.time.Period; import java.time.format.DateTimeFormatter; import java.time.format.FormatStyle; import ...

java 线程协作 join()【代码】

在实际开发中我们往往会遇到这样的情况一个线程的执行需要依赖另一个线程执行后的结果。即主线程生成并起动了子线程,如果子线程里要进行大量的耗时的运算,主线程往往将于子线程之前结束,但是如果主线程处理完其他的事务后,需要用到子线程的处理结果,也就是主线程需要等待子线程执行完成之后再结束,这个时候就要用到join()方法了。join()join() 方法主要是让调用该方法的thread完成run方法里面的任务后, 再执行join()方法后面...

【JAVA】HashMap的原理及多线程下死循环的原因【图】

再次翻到以前工作中遇到的一个问题,HashMap在多线程下会出现死循环的问题,以前只是知道会死循环,导致CPU100%把机器拖跨,今天来彻底看看 首先来看下,HashMap的原理:HashMap是一个数组,对key使用hash算法计算出数组对应的下标i,然后把<key, value>插到table[i],如果两个不同的key被算在同一个i,那就出现冲突,又叫碰撞,这样就会在table[i]上形成一个链表;总结下来HashMap是一个数组+链表组成的数据结构; 我们知道,在往...

LeetCode第[10]题(Java):Regular Expression Matching【代码】

题目:匹配正则表达式题目难度:hard题目内容:Implement regular expression matching with support for ‘.‘ and ‘*‘.‘.‘ Matches any single character. ‘*‘ Matches zero or more of the preceding element.The matching should cover the entire input string (not partial).The function prototype should be: bool isMatch(const char *s, const char *p)翻译:" . "匹配任何一个字符。" * "匹配零个或更多的前面...

javascript arguments与javascript函数重载【代码】

1.所 有的函数都有属于自己的一个arguments对象,它包括了函所要调用的参数。他不是一个数组,如果用typeof arguments,返回的是’object’。虽然我们可以用调用数据的方法来调用arguments。比如length,还有index方法。但是数 组的push和pop对象是不适用的。2.函数定义时的参数个数和函数调用时的参数个数没有任何关系。 在函数中可以用f.arguments[0]和f.arguments[1]得到调用时传入的第一和第二个参数,arguments不能够创建,是函...

Spark中RDD转换成DataFrame的两种方式(分别用Java和Scala实现)【代码】

一:准备数据源 在项目下新建一个student.txt文件,里面的内容为:1,zhangsan,202,lisi,213,wanger,194,fangliu,18 二:实现 Java版: 1.首先新建一个student的Bean对象,实现序列化和toString()方法,具体代码如下:import java.io.Serializable; @SuppressWarnings("serial") publicclass Student implements Serializable { String sid; String sname; int sage; public String getSid() { return sid; } p...

《JAVA编程那点事儿》读书笔记(二)【代码】

方法:1. 基本的main方法:publicstaticvoid main(String[] args)2.静态方法内部调用非静态方法:重新声明一个类,通过这个类来调用非静态方法 1publicclass MAINMETHOD {2publicstaticvoid main(String[] args) {3 MAINMETHOD mm = new MAINMETHOD();4 System.out.printf("%d", mm.max(5, 6));5 6 }7 8publicint max(int a,int b){9return a>b?a:b; 10 } 11 }3. 方法重载:在一个类内部出现了多个方法名称相...

Java中IO流的基础介绍

1-1.IO概述i:input输入(读取)o:output输出(写入)流:数据(字符,字均1个字符=2个字节,1个字节=8个二进制位输入:把硬盘中的数据,读取到内存中使用输出:把内存中的数据写入到硬盘中保存1-2.一切皆为字节一切文件数据(文本、图片、视频等)在存储时,都是以二进制数字的形式保存,都一个一个的字节,那么传输时一样如此。所以,字节流可以传输任意文件数据。在操作流的时候,我们要时刻明确,无论使用什么样的流对象,底层传输的始终为二...

Java7并发编程实战(一) 线程的中断【代码】

控制线程中断的方法一般常规是定义一个布尔值,然后while(布尔值) 去执行,当想停止该线程时候,把布尔值设为false.这里我们来看第二种,Interrupt 该例子模拟一个线程从1打印到10,然后到5的时候中断线程,主要在线程中捕捉InterruptedException 异常 publicclass Test implements Runnable {@Overridepublicvoid run() {// TODO Auto-generated method stubfor(int i=0;i<10;i++){System.out.println("打印"+i);try {TimeUnit...

JAVAWeb SSH框架 利用POI 导出EXCEL,弹出保存框【图】

导入包这一些不多说,直接贴出关键代码,JSP只要点一个Action链接就行。poi包我是用:poi-3.11-20141221.jar亲测有效:效果: Action 类代码:private InputStream inputStream; //(get,set方法省略)定义一个输入流,用于接住在Service类生成的含有EXCEL的输入流public String exportNetworkDeviceList() throws Exception { setInputStream(networkDeviceService.exportNetworkDeviceList(NET_STATUS, NET_MODEL_NUMBER, NE...

JavaScript addEventListener()事件监听方法【代码】

文章链接:https://www.cnblogs.com/jc2182/p/11307165.htmladdEventListener()方法将事件处理程序附加到指定的元素。addEventListener()方法将事件处理程序附加到元素,而不覆盖现有的事件处理程序。您可以向一个元素添加许多事件处理程序。您可以向一个元素添加许多相同类型的事件处理程序,即两个“单击”事件。您可以将事件侦听器添加到任何DOM对象,而不仅仅是HTML元素。即window对象。addEventListener()方法可以更容易地控制...

Mongodb使用shell实现与javascript的动态交互【图】

关于利用mongodb的shell执行脚本,这点在以前的文章中有点遗漏;现在在此篇博客中做个补充;一、在命令行中传入脚本文件定义一个javasciprt文件,名称为:script1.js,内容如下: print("I am albert shao in the script1.js") 定义另一个javascript文件,名称为script2,内容如下:print("I like to read and study") 在命令窗口运行得到如下结果:备注: 脚本文件必须放到mongo的同目录文件下如果希望使用指定的主机和端口的mon...

Java开发环境搭建【图】

点击进入Oracle官网下载与操作系统相应的版本!jdk windows64X确定安装位置进行安装记住安装的路径配置环境变量我的电脑--->右键--->属性高级系统设置--->环境变量--->新建系统变量--->录入变量值与变量名(变量值为jdk安装路径)配置path变量--->配置两个bin目录测试jdk是否安装成功打开cmd输入java -version显示此页面表示安装成功下载notepad++原文:https://www.cnblogs.com/danmian/p/14678312.html

Java 实现的断点下载

该断点下载可应用于浏览器或者迅雷等下载工具的下载,实现方式有多种多样的,本文只研究了单线程的下载,迅雷等下载工具会自动将下载资源分块并记录每块的起始位置,然后根据系统性能,起多线程下载。1. 基本原理从Request Header的Range信息里面获取已经下载的文件大小,然后创建response的outputstream 向客户端(浏览器或者迅雷等下载工具)写,写的时候又利用header里面的“Content-Range”, 让客户端知道从哪个位置开始写;读...

JavaScript 第一天【代码】

学习内容:JavaScript 正式名称ECMA Script或ECMA-262简称js1.js嵌入方式:(a)javascript前缀引入js1<a href="javascript:alert(‘hello world‘)">hello</a>(b)内嵌引用用script标签,可放在head或body标签之间,加载顺序head>body,因为html文件是由上至下加载1<head>2<script>3 alert("这是第二种引入方式") 4</script>5</head>(c)外部引用外部引用js文件,类似于css的外部引用,同样可放在head标签或body标签之间...

Java_并发工具包 java.util.concurrent 用户指南(转)【图】

译序本指南根据 Jakob Jenkov 最新博客翻译,请随时关注博客更新:http://tutorials.jenkov.com/java-util-concurrent/index.html。本指南已做成中英文对照阅读版的 pdf 文档,有兴趣的朋友可以去 Java并发工具包java.util.concurrent用户指南中英文对照阅读版.pdf[带书签] 进行下载。 1. java.util.concurrent - Java 并发工具包 Java 5 添加了一个新的包到 Java 平台,java.util.concurrent 包。这个包包含有一系列能够让 Java ...

Java 虚拟化保护,支持Jar二次调用的加密方式【图】

场景对 Java SDK (Jar 包)保护,向第三方发布对部分代码有高安全性诉求。Virbox Protector?Java VME?技术技术原理不同于简单的加密壳,Virbox Protector Java VME 保护技术是将 Java 方法的字节码转换为自定义的虚拟机字节码,并将其替换为跳转代码,运行时跳转至自定义虚拟机中解释执行。加密效果保护效果保护前:保护后:使用方法1.将jar包直接拖入到工具中;2.设置函数选项在函数选项处,点击【添加函数】,选择函数,设置保护...

Java实现基于桶式排序思想和计数排序思想实现的基数排序【代码】

计数排序  前提:待排序表中的所有待排序关键字必须互不相同;  思想:计数排序算法针对表中的每个记录,扫描待排序的表一趟,统计表中有多少个记录的关键码比该记录的关键码小,假设针对某一个记录,统计出的计数值为c,则该记录在新的有序表中的存放位置即为c。  性能:空间复杂度:o(n);时间复杂度:o(n^2); 1publicint[] countSort(int[] array){2int[] tempArray = newint[array.length]; //引入辅助数组 3for(int i=...

关于java多线程死锁的实验【代码】

先上完整的代码后续再依次修改代码块得到相应的结论 1//尝试写一个死锁 感受一下 2publicclass DeadLock {3publicstaticvoid main(String[] args) {4 Object o1 = new Object();5 Object o2 = new Object();6//创建两个object对象7//创建两个Thread线程 8 Thread T1 = new Thread(new process1(o1,o2)); //两个线程T1、T2共享了相同的两个对象o1、o2 9 Thread T2 = new Thread(new process2(o1,o2)); 10 T1....

【JavaScript】操作Canvas画图

1、页面添加 Canvas 标签 标签内可以写文字,浏览器不支持Canvas的情况下显示,2、js获取 Canvas 标签3、利用js函数画图,【线】【图】【文字】 源:http://www.liaoxuefeng.com原文:http://www.cnblogs.com/oiliu/p/4793644.html