JAVA - 技术教程文章
堆和栈(Java数据结构)
堆常见使用场景:堆(英语:heap)亦被称为:优先队列(英语:priority queue),是计算机科学中一类特殊的数据结构的统称。堆通常是一个可以被看做一棵树的数组对象。在队列中,调度程序反复提取队列中第一个作业并运行,因而实际情况中某些时间较短的任务将等待很长时间才能结束,或者某些不短小,但具有重要性的作业,同样应当具有优先权。堆即为解决此类问题设计的一种数据结构。n个元素序列{k1,k2...ki...kn},当且仅当满足下列...
剑指Java面试-Offer直通车 关系型数据库 笔记2【图】
3-1 数据库架构考察了我们对数据库的认识 模块化的思想 存储模块 将数据存入磁盘中 但是光有存储是不行的 还需要组织 并且以后还会用到这些数据 因此还需要用到程序实例 利用逻辑结构 映射到我们的物理结构并且提供 管理数据的方式 这就是程序实例 存储管理:将数据的格式和文件的分割进行统一的管理 缓存机制:为了更快 将取出来的数据快存放在缓存里面 sql解析 :为了外界指令能够操作我们的数据库 日志管理:sql操作需要记录下...
JAVA 消耗 CPU过高排查方法
#找出cpu占用最高的进程top -H#再次确定进程ps aux|grep 17408 #查看进程的线程(tid) ps -mp 17408 -o THREAD,tid,time#将线程转换为十六进制printf "%x\n" 17418#打印出线程对应的堆栈信息/usr/share/java-1.8.0/bin/jstack 17408|grep 440a -A 30原文:https://www.cnblogs.com/workherd/p/8435918.html
java的static块执行时机
一、误区:简单认为JAVA静态代码块在类被加载时就会自动执行。证错如下: [java] view plaincopyclass MyClass1 { static {//静态块 System.out.println("static block "); } } public class Main { Class[] classArray = { MyClass1.class//这样引用该类,必然需要将该类加载到虚拟机中 }; public static void main(String[] args){ System.out.println("hello wor...
Java的位运算符详解实例——与(&)、非(~)、或(|)、异或(^)【代码】【图】
publicclass data16 { publicstaticvoid main(String[] args) { int a=15; int b=2; System.out.println("a 与 b 异或的结果是:"+(a^b)); } }View Code 位运算符主要针对二进制,它包括了:“与”、“非”、“或”、“异或”。从表面上看似乎有点像逻辑运算符,但逻辑运算符是针对两个关系运算符来进行逻辑运算,而位运算符主要针对两个二进制数的位进行逻辑运算。下面详细介绍每个位运算符。 1.与运算符与运算符用符号“&”表...
javascript的崛起及其生态元素
随着web的流行,人们花在浏览器上的时间吸引了巨头们对浏览器的重视,继而几年前富客户端概念,一大批富客户端技术的涌现,如silverlight, flex等,曾经风起云涌,最终都败给了html5 和 javascript。javascript的正式崛起的标志应该是nodejs的发布,从此,javascript开始迅速告别碎片化脚本,向工程化演进,接下来看看最近几年辅助javascript成长的一些功臣们。 项目化 语言层级的支持: nodejs 1.向服务器端进军,库的管理,运行...
Java核心技术 笔记五 OOP
java 的核心就是面向对象 (完全面向对象的)面向对象程序设计就必须清楚对象的三个主要特性1.对象的行为2.对象的状态3.对象标识 除此之外 还需要了解对象之间的关系 比较常见的关系有依赖 继承 聚合 在Java程序中 程序员应该尽可能的将相互依赖的类减到最少 即减少类间的耦合度在Java中 并不是所有的类都是具有面向对象的特征 如math类 date类 在对象与对象变量之间存在着一个重要的区别Date deadline;这里的定义了一个对象变量...
JavaEE基础(二)【代码】
1、Java语言基础(常量的概述和使用)A:什么是常量 在程序执行的过程中其值不可以发生改变 B:Java中常量的分类 字面值常量自定义常量(面向对象部分讲) C:字面值常量的分类字符串常量 用双引号括起来的内容整数常量 所有整数小数常量 所有小数字符常量 用单引号括起来的内容,里面只能放单个数字,单个字母或单个符号布尔常量 较为特殊,只有true和false空常量 null(数组部分)D:案例演示用输出语句输出各种常量。null不演示2、Java语言基...
字符串模拟大数相加——Java实现【代码】
本题是CVTE二面编程题,首先考虑返回值肯定是一个字符串(int会有溢出可能),并且两个字符串只含数字,不含”+“、”-“这种。代码如下: 1publicstatic String add(String str1, String str2) {2if(str1 == null)3return str2;4if(str2 == null)5return str1;6 StringBuffer s1 = new StringBuffer(str1).reverse();7 StringBuffer s2 = new StringBuffer(str2).reverse();8 StringBuffer res = new S...
JavaScript设计模式与开发实践——读书笔记1.高阶函数(下)【代码】
上部分主要介绍高阶函数的常见形式,本部分将着重介绍高阶函数的高级应用。 1.currying currying指的是函数柯里化,又称部分求值。一个currying的函数会先接受一些参数,但不立即求值,而是继续返回给另一个函数,通过闭包存储起来。等到函数被真正需求要求值的时候,将之前传入的参数统一起来求值。例如,我们要计算一个月的开销,我们并不需要计算每天具体花了多少,而是需要计算月底总共花掉多少,也就是说,实际上我们只...
JavaScript属性名和属性值【图】
㈠属性名var obj = new Object();向对象中添加属性 ⑴属性名: - 对象的属性名不强制要求遵守标识符的规范 什么乱七八糟的名字都可以使用 - 但是我们使用时还是尽量按照标识符的规范去做示例:obj.name = "林黛玉" ⑵如果要使用特殊的属性名,不能采用 . 的方式来操作 需要使用另一种方式:语法:对象["属性名"] = 属性值 读取时也需要采用这种方式 示例: ⑶使用[ ] 这种形式去操作属性,...
java中的BOM
JavaScript Window - 浏览器对象模型浏览器对象模型 (BOM) 使 JavaScript 有能力与浏览器"对话"。浏览器对象模型 (BOM):浏览器对象模型(Browser Object Model (BOM))尚无正式标准。由于现代浏览器已经(几乎)实现了 JavaScript 交互性方面的相同方法和属性,因此常被认为是 BOM 的方法和属性。Window 对象:所有浏览器都支持 window 对象。它表示浏览器窗口。所有 JavaScript 全局对象、函数以及变量均自动成为 window 对象的成...
java笔记线程方式1获取对象名称【代码】【图】
* 如何获取线程对象的名称呢? * public final String getName():获取线程的名称。 * 如何设置线程对象的名称呢? * public final void setName(String name):设置线程的名称 * * 针对不是Thread类的子类中如何获取线程对象名称呢? * public static Thread currentThread():返回当前正在执行的线程对象 * Thread.currentThread().getName() 1publicclass MyThreadDemo {2publicstaticvoid main(String[] args) {3// 创建线程对象4//...
[Javascript] Finding Parent Elements【代码】
const app = document.getElementById(‘app‘); app.innerHTML = `<h1>JavaScript DOM</h1><div class="item"></div> `;const item = document.querySelector(‘.item‘);console.log(item.parentNode); console.log(item.parentElement.parentElement);console.log(item.closest(‘#app‘)); console.log(item.closest(‘body‘)); 原文:https://www.cnblogs.com/Answer1215/p/12596289.html
Java保留两位小数【代码】
import java.text.DecimalFormat;//导入包//保留2位小数int scoreAvg = 17.234 DecimalFormat df = new DecimalFormat(".00"); System.out.println(df.format(scoreAvg)); 原文:https://www.cnblogs.com/lvxisha/p/11561442.html
JAVA-初步认识-第十三章-多线程(线程安全问题的现象)【图】
一. 引言接着看,把售票的问题给说完,这里涉及到一个小问题。在我们进行线程任务封装,并进行线程对象创建的时候,我们发现确实通过四个线程能够将一百张票卖完。但是卖票的时候,会不会出现一些小问题呢?分析整个程序给大家展示一下。现在有四个线程,都到了run方法中来运行。大家都知道,每个线程所属的栈区当中都有自己的run方法,比如它们同时在操作堆内存中的变量,叫做num。假设这个num已经减到了1,这是个前提。在num=1的...
javaIo流【代码】
转载自:http://ggicci.blog.163.com/blog/static/2103640962012813997493/Java :关于 Java 流的笔记 State :Java 流分为 字符流 和 字节流 两种。分别四个抽象类 Reader/Writer、InputStream/OutputStream 表示。Hierachy : Note : 抽象类 无公共构造器 已弃用 父类/超类 -----> 子类How to use ? Reader 与 Writer 所派生的子类用来处理字符流;InputStream 与 OutputStream 所派生的子类用来处理字节流。...
【Java】计算某个数内的所有素数【代码】【图】
代码 1publicstatic List<Integer> getPrimeNumber(int a) {2 List<Integer> primeNumberList = new ArrayList<>();3if (a < 2) {4return primeNumberList;5 }6 7double sqrt;8 Integer primeNumber;9// 默认是素数10boolean flag = true; 11for (int number = 2; number < a; number++) { 12 sqrt = Math.sqrt(number); 13for (int index = 0; index < primeNumberList.size(); index++) { 14 prim...
java 类加载器
一开始学java的时候,类加载器看了点但是稀里糊涂的,之后在项目中几乎没使用到类加载器。还是在看开源项目的源码的时候总是会看到ClassLoader的身影。 java中如果要使用某个类,则需要先把这个类加载到内存中方可使用,也就是使用ClassLoader把字节码加载到内存中 java默认有三类加载器: 1、系统类加载器(sun.misc.Launcher$AppClassLoader): 这类加载器负责加载系统属性(java.class.path)下的路径 s...
Javascript Error: 11233 Content-Length mismatch
Today I got a error in fiddler:Failed to obtain request body. System.IO.InvalidDataException The request body did not contain the specified number of bytes. Got expected11233 Content-Length mismatch: Request Header indicated 7,431 bytes, but client sent 0 bytes.I goole all key words on web, but no any clues to root cause. Here is the script:function ShowRatePopUP() { ratePopUpLinkButton = docum...
Java中“==”与equals方法的区别【代码】
1. 用“==”比较两个变量,如果两个变量是基本类型变量,且都是数值类,则值相等就返回true 如果两个变量是引用型变量,则两个对象的地址一样,即指向同一个对象,则返回true2.equals:String类对equals进行了重写:1)若是同一个对象,返回true; 2)若不是,则比较它们的值,值相同,返回true 重写代码:publicboolean equals(Object anObject) {if (this == anObje...
JavaScript函数【代码】
函数:就是一个可以反复执行的代码块为什么使用函数:您能够对代码进行复用:只要定义一次代码,就可以多次使用它。您能够多次向同一函数传递不同的参数,以产生不同的结果。创建一个函数:函数创建的过程,就是找一个堆内存空间,把函数代码放进去,把内存地址赋值给函数名function 函数名(){ //函数体 } 函数名() //函数调用调用函数:函数声明之后可以多次调用;函数每次调用都会产生一个新的所有作用域...
java获取手机号归属地【代码】
1package org.lebing.test;2 3import java.io.InputStream;4import java.io.OutputStream;5import java.io.OutputStreamWriter;6import java.net.URL;7import java.net.URLConnection;8 9import javax.xml.parsers.DocumentBuilder;10import javax.xml.parsers.DocumentBuilderFactory;11 12import org.w3c.dom.NodeList;13 14publicclass Test {15/** 16 * 17 * 获得soap请求18 * 19 * @param mobileCode20 ...
读书笔记,《Java 8实战》第五章,使用流【图】
本章我们将会了解到关于Stream API的很多操作,这些操作能够完成很多复杂的查询,比如,比如筛选,切片,映射,查找,匹配和规约,第一节,筛选和切片 首先我们来看看用谓词来选择流动的元素,主要介绍了几个基础操作,包括:filter, distinct, limit, skip等。 比如对于filter,这里给了上一章的一个例子,用一个谓词来判断一个菜单中是否有蔬菜:List<Dish> vegetarianMenu = menu.stream().filter(Dish::isVegetarian).co...
Java for LeetCode 072 Edit Distance【代码】
Given two words word1 and word2, find the minimum number of steps required to convert word1 to word2. (each operation is counted as 1 step.)You have the following 3 operations permitted on a word:a) Insert a character b) Delete a character c) Replace a character解题思路:DP问题,JAVA实现如下: public int minDistance(String word1, String word2) {int[] dp = new int[word2.length() + 1];for (int i ...
java面试5
1.如何将String类型转化Number类型?列举说明String str = "123";Integer num1 = new Integer(str);int num2 = Integer.parseInt(str);Integer num3 = Integer.valueof(str);2.break,continue,return 的区别?break用于switch和循环,用于结束switch和当前循环continue用于循环,用于结束本次循环return 用于结束当前方法,还可以用于return 返回结果3.原文:https://www.cnblogs.com/pengyupeng/p/11515467.html
不得不会的10点Java基础知识【图】
1.实例变量和类变量实例变量:指每个对象独立的,修改其中一个对象的实例变量,不会影响其他实例变量的值,变量值无 static 关键字修饰;类变量:是指所有对象共享的,其中一个对象把该变量的值修改了,那么所有对象的该变量的值都修改了,使用 static 关键字修饰,一般使用 「类名.属性」 来访问;2.静态方法和非静态方法静态方法:是指使用 static 关键字修饰修饰的方法,一般使用 「类名.方法」 来访问,也可以通过 「对象.方法...
Java 注解2
java 注解是先标记后面当需要时,通过注解相关的特殊方法来触发. 反射 reflect 来使用注解java 注解 与 python 装饰器的不同先说java的注解(Annotation),实际上是给语法元素打一个标记。比如你可以给一个函数打一个标记,给一个类打一个标记等等。Java只保证记录这个标记,但是不会主动根据这给标记做任何事。比如,你在Spring里,给一个私有成员打 @Autowired 这个标记。public class XXXService { @Autowired private XXX...
Java生成二维码实现扫描次数统计并转发到某个地址
需求:近几天某个项目需要用户录入个自己的网址,然后系统需要根据用户的的网址生成二维码,然后用户可以拿着它给别人扫描,访问到他录入的网址,在这个过程中.我需要知道用户的二维码被扫描的次数,也就是后面根据其可以做一些扫描排名之类的.思路:先生成二维码,csdn已经有前辈写了,那么我就直接拿过来用了. 将用户的id,和用户录入的网址处理之后作为http get参数封装到二维码中,然后用户扫描会自动跳转到我们系统的某个接口在接口中根据...
2.Dubbo开源分布式服务框架(JAVA RPC)
1.Dubbo介绍 Dubbox是阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能RPC(即远程调用)实现服务的输出和输入功能,可以和Spring框架无集成。Dubbo是一款高性能、轻量级的开源Java RPC框架,它提供了三大核心能力 : 面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现。 2.主要核心部件 Remoting : 网络通信架构,实现了sync(同步)-over-async(异步)和request-response消息机制。 RP...