- 博客(28)
- 收藏
- 关注
原创 can not find pentaho-aggdesigner-algorithm-5.1.5-jhyde.jar的问题
总提示pentaho-aggdesigner-algorithm 包找不到,各种办法都试了,最后原来是这样
2022-08-03 15:19:06 451
原创 java的沙箱安全机制
java的沙箱安全机制转自 “狂神说”一、介绍Java安全模型的核心就是java沙箱sandbox,将java代码限定在jvm特定的运行范围中,并严格限制代码对本地系统资源访问,这样来保证代码的有效隔离,防止对本地系统造成破坏。所有java程序运行都可以指定沙箱,可以定制安全策略。java将执行程序分成本地代码和远程代码,本地代码默认可信任,远程不受信任。JDK1.0时,非授信的远程代码的安全完全依赖于沙箱机制。如此严格的安全机制给程序扩展带来障碍,因此后续1.1版本做了改进,增加了安全策略,允
2021-11-23 16:23:38 2030
原创 jAVA泛型
JAVA泛型一、什么是泛型概念:Java泛(generics)是JDK5中引入的一个新特性,泛型提供了编译时类的安全监测机制,该机制允许我们在编译时检测到非法的泛型数据结构。 泛型的本质是参数化类型,也就是所操作的数据类型被指定为一个参数。意义:类型安全, 消除强制类型转换。二、泛型类、接口泛型类(接口)定义语法:class 类型名 <泛型标志,泛型标识,...> { private 泛型标识 变量名; ...}常用泛型标识:T 、 E 、 K
2021-11-12 15:16:50 82
原创 java异常
一、什么是异常实际程序运行场景不会是一切都很完美,会遇到各种不合规、资源短缺、操作失误等问题。这些各种实际情况可能引起程序运行时出现不期而遇的非正常状况。这就是异常。二、异常分类java设计之初就提供了一整套异常处理机制,顶级超类Throwablle,往下分为Exception和Error两大接口。** Exception **:程序员可以处理的情况;** Error **:是错误,程序员无法处理的问题,通常不必管它,尽量避免。如栈溢出,写程序时尽量避免大量使用内存资源而不释放,一旦出现这种错误
2021-09-28 17:10:21 97
原创 抽象类和接口
java面向对象精髓之抽象类和接口1、抽象类1、 抽象类是class前用abstract修饰的类,抽象方法是方法前用abstract修饰的方法;2、抽象类里不一定有抽象方法(真没有就没必要写成抽象类了);只要有一个抽象方法,该类必须是抽象类;3、抽象类不能实例化,但可以有构造器;4、抽象类可以在创建匿名内部类时,new出来;(本质是实例化抽象类的实现子类)2、接口1、接口使用interface表示,替换class位置;2、接口内所有方法都是抽象方法,且默认必须是public,可省略;3、接
2021-09-28 09:24:24 74
原创 java三大特性之继承
1、Java是单继承的,一个子类(派生类)只能有一个父类(基类)。一个儿子只可能有一个父亲。2、super和this:super代表的是父类对象;super()待用弗雷构造器,必须在子类构造方法第一行,可以省略;super关键字只能出现的子类的方法中;this调用者本身对象;this()是本类构造器;this关键字在没有继承时也可以用,如调用自身的其他方法。3、重写前提是有继承关系,才可谈子类重写父类方法;方法名、返回值、形式参数必须一致,及方法必须一致;修饰符可以扩大,不.
2021-09-26 10:25:10 119
原创 冒泡排序理解
1、原理:从第一位元素起,依次比较相邻两个元素,不符合规则(如小的在前)则互换位置。这样一轮(比较完整个队列)下来,(最大/最小)元素将换到最后一位,这也是冒泡排序的名称的由来。第二轮重新开始,同样的过程,最终结果第二(大/小)的元素将被换到倒数第二的位置...直到n-1轮结束,第n-1大的元素换到该在位置了,整个排序结束。2、java代码实现for(int i=0; i<array.lenth-1; i++){ for(int j=0; j<array-1-i; j++){..
2021-09-23 22:10:06 99
原创 Javadoc是什么
1、首先写java代码的都需要人手一份jdk帮助文档,比如jdk8的官网在线帮助文档:https://docs.oracle.com/javase/8/docs/api/它长这样:这就是javadoc输出的标准文档。2、java中注释一共有三种:单行注释、多行注释和文档注释。文档注释像这样:/** * 该方法的描述 * @param name 名称 * @return 一个字符串 */public String getStr(String name){ ..
2021-09-15 22:10:09 232
原创 Java中的位运算符
Java位运算符包括:& 、 | 、 ~ 、 ^ 、 << 、 >> 、 >>> 。& 表示同一位上两个都为1,则结果为1。如“ 1101 & 1001”的结果是“1001”。| 表示同一位上两个只要有一个为1,则结果为1。如“ 1101 & 1001”的结果是“1101”。~ 表示取反,如“ ~1101”的结果是“0010”。^ 表示异或,同一位上两个不一样,则该位结果为1,反
2021-09-14 17:39:18 287
原创 JAVA基本数据类型
Java基本数据类型Java语言提供了八种基本类型。六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型。bytebyte 数据类型是8位、有符号的,以二进制补码表示的整数;最小值是 -128(-2^7);最大值是 127(2^7-1);默认值是 0;byte 类型用在大型数组中节约空间,主要代替整数,因为 byte 变量占用的空间只有 int 类型的四分之一;例子:byte a = 100,byte b = -50。shortintlongfloatdou
2021-09-09 17:24:00 108
原创 关于JDK、JRE、JVM的区别JDK的安装
1、JRE----Java Running Environment Java程序运行所需要的环境,也是Java能够一次编写,四处运行的原因,当然之所以java程序能运行核心是JVM。具体表现为一个jre软件,要想机器能运行java程序,安装它。2、JVM----Java Virtual Machine Java虚拟机,他是JRE中的核心,包括java字节码文件运行所需的编译器、字节码校验器、解释器等,是真运行java程序的容器。3、JDK----Java Development Kit 就是jre+
2021-09-03 16:43:41 223
原创 Markdown 常用语法
标题 #二级 ##三级 ###四级 ####五级 #####六级粗体 **斜体 *xie qie cu ***删除 ~~引用 >分隔线*** ---图片超链接点击跳转到链接列表 数字 点 空格 文字 a b 无序 减号 空格 文字 asdf asfff 表格 竖杠隔开1 2 ni hao 代码 ```print('hello'
2021-09-02 11:54:47 70
原创 多线程初探
一、线程简介1、进程:抽象概念,没有统一标准定义。它是具有一定独立功能的程序在数据集上的一次动态执行过程,是操作系统进行资源分配和调度的最小单位。2、线程:抽象概念,是比进程更小的抽象。它是程序执行中一个单一的顺序控制流程,是程序执行的最小单元,是处理器调度和分派的基本单位。3、区别:a.线程是程序执行的最小单位,进程是操作系统分配资源的最小单位; b.一个进程可以包含多个线程,线程是进程中代码的不同执行路线; c.进程之间相互独立,而同一进程下的多个线程间可以共...
2021-07-06 14:43:59 91
原创 Lua入门
一、介绍Lua 是一个小巧的脚本语言。它是巴西里约热内卢天主教大学的研究小组于1993年开发的。 其设计目的是为应用程序提供灵活的扩展和定制功能。Lua由标准C编写而成,几乎在所有操作系统和平台上都可以编译,运行。Lua并没有提供强大的库,这是由它的定位决定的。所以Lua不适合作为开发独立应用程序的语言。在刚刚接触Lua时,你可把它当作java,同样需要一个“虚拟机”来“解释”、“运行”Lua文件。同样,该“虚拟机”提供两个工具——“lua”和“luac”,用来执行和编译lua文件。你可能还需要
2021-04-06 11:23:20 628
转载 java中int与Integer用==比较详解
前言: 越是简单的东西,我们往往越是没有去把它明白,但我们大部分时间又常常在用,就像我们今天说的int与Integer的使用,我们程序员基本天天都在用,但是我今天没用详细弄清楚之前我也是不清楚,我们来看看这两个在用==号比较给我们带来的疑问。 先看看下面的代码,看看我们是否都会 @Test public void testEquals() { int int1 = 12; int int2 = 12; ...
2020-12-24 22:31:18 771
转载 i++和++i命令的区别
1、赋值顺序不同++ i 是先加后赋值;baii ++ 是先赋值后加;++i和i++都是分两步完成的。因为++i 是后面一步才赋值的,所以它能够当作一个变量进行级联赋值,++i = a =b,即 ++i 是一个左值;i++ 的后面一步是自增,不是左值。形象的理解可以是i++先做别的事,再自己加1,++i先自己加1,再做别的事情。2、效率不同比如i=3,b=i++就是说b=3,完成之后让i变成4,b=++i就是先让i++变成4,然后b=4,其中++i比i++效率要高些。一般来说在循环...
2020-12-24 22:14:18 586
原创 红黑树
一、介绍红黑树(RedBlackTree)是为解决二叉树不平衡而生的,是一种自平衡的二叉树。红黑树除1.节点是红色或黑色。2.根节点是黑色。3.每个叶子节点都是黑色的空节点(NIL节点)。4 每个红色节点的两个子节点都是黑色。(从每个叶子到根的所有路径上不能有两个连续的红色节点)5.从任一节点到其每个叶子的所有路径都包含相同数目的黑色节点。红黑树从根到叶子的最长路径不会超过最短路径的2倍。二、左旋和右旋红黑树的基本操作是添加、删除。在对红黑树进行添加或删除之后,都会用
2020-12-24 14:12:39 168 2
原创 java中的“==”和equals方法总结
1、“==” 比较运算符如果作用于基本数据类型的变量,则直接比较其存储的 “值”是否相等; 如果作用于引用类型的变量,则比较的是所指向的对象的地址 。2、equals方法所有类继承自Object类,如果不重写,默认的equals方法表示的是对象的内存地址是否相等,hashcode返回的是对象的内存地址;基本类型的包装类、String、Date等皆重写了equals方法,对比的是“值”而不是地址,当然重写equals方法就必须重写hashcode方法。(java中大部分类都重写了equal
2020-11-05 11:18:17 101
原创 Redis--基本数据类型
Redis有五大数据类型:String、Hash、List、Set和ZSet1、StringString事redis的最基本类型,一个key对应一个valve;它事二进制安全的,可以包含任何字符,可以存储图片或序列化对象;一个键可以存储最大512M。2、HashRedis Hash是键值对集合,key value键值对模式不变,但value是一个键值对;所以它是一个String类型的field value映射表;你也可以理解为一个Hash 就是一个对象,key是对象名称,va
2020-10-26 15:07:05 110
原创 java基础-内存可见性
一、概念可见性:一个线程对共享变量的修改,可以及时被其他线程看到。所有变量都存在之内存中,每个线程都有自己的工作内存,每个工作内存中都有一个变量副本;线程只能读写自己工作内存里的变量副本。可见性的时间原理:线程一修改变量副本-->副本更新主内存-->其他工作内存从主内存更新变量-->线程二(三)读取变量二、实现java语言层面实现可见性的两种方式:synchonized 和 volatile(1)synchonized JVM规定synchroni...
2020-10-20 10:48:04 248
原创 java基础--类加载
#一、字节码字节码文件即.class文件,里面是这样的:其中“cafe babe”被称为“魔数”,是 JVM 识别 .class 文件的标志。所有java源文件(.java)编译完成后生成字节码文件(.class),交由JVM执行。JVM读取、加载.class文件的过程就是类加载。#二、类加载过程类加载分为三个步骤:加载、连接(验证、准备、解析)、初始化。##1、加载loading加载指的是将类的class文件读入到内存——将字节码从不同的数据源(可能是 class 文件、也
2020-10-19 23:24:39 134
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人