- 博客(46)
- 收藏
- 关注
原创 jenkins构建pipline无法执行shell命令原因
但是服务器上已经安装好maven,服务器的环境变量里也配好maven_home了,为什么还是报这个错呢?可以看到,这些是系统必备程序的路径配置,所以其实不是执行不了shell命令,而是找不到cp,mv等的路径,所以执行不了,把这些地址配到jenkins的PATH里就可以了!新的服务器上,新安装的jenkins,在上面创建了一个pipline项目,脚本里有shell命令,但是jenkins每次执行都卡住,经过尝试,执行的时候报了一个错,mvn not found。,cp,mv等都不行,只有echo能执行。
2023-06-08 14:30:39
2361
1
原创 Redis源码阅读(一)——从Redis内存耗尽问题开始
前言:相信大家都或多或少关注了一些技术公众号。这些公众号在起步阶段,肯定都是会产出一些优秀的原创技术文章,要不然我们也不会去关注。随着时间推移,某些公众号逐渐做大,粉丝越来越多,开始能接到金主的广告。当然号主“恰饭”也是无可厚非的,毕竟有收入才会有持续创作的动力。但是某些号,在接广告的同时,反而原创也越来越少了,往往就是随便找篇文章转发。转发也就算了,关键这些号主们好像商量好了一样,转发的内容也一样,最多换个标题了事。有没有可能这些号有了足够的粉丝,能进入广告金主爸爸的视线后,都被卖了,而且是卖给同一
2021-03-07 16:07:17
306
原创 Hibernate原生SQL多表查询字段名重复问题以及解决方法
错误提示中出现的字段中,好几个表中都有这个字段,导致hibernate转化时出错。 问题定位:发现sql语句开头是select * …. 问题解决:把select * 改成查询具体所需的字段名即可。 如果是查询的字段名重复,参考这篇博文:https://blog.csdn.net/qq_14946973/article/details/53907723...
2018-08-20 14:11:32
1639
原创 ORACLE——数据查询
数据查询功能大概是SQL语句中使用最频繁的语句。Select [all|distinct] top n[percent] with ties select_list[info[new table name]][from{table_name|view_name}[optimizer_hints]][,{table_name2|view_name2}[optimizer_hints]]][wh
2017-12-22 11:29:41
653
原创 oracle——数据定义
在上文中我们建好了表空间,并创建了新用户。接下来就可以使用这个用户登录,做想做的事了。 对于一个空白的表空间,首先我们当然是要先建表。 一般SQL语言有以下四大功能: **1.数据定义 2.数据查询 3.数据操作 4.数据控制** 在oracle中,数据定义是指create,drop,alter。这三个关键字操作的对象有表,视图,索引。建表自然属于数据定义范围。 数据查询显而易见是s
2017-09-26 11:56:02
356
原创 装好oracle后——表空间,用户
安装好数据库之后,接下来就要开始使用了。 但是我们不能上来就create table,我们需要先创建一个表空间以及一个新用户。 什么是表空间,为什么需要表空间? 首先,表空间是一个逻辑概念,逻辑的意思就是它是实际上不存在的,在文件夹里找不到的。oracle中真正存着数据的文件(物理上最大的)是数据文件(data file)。而在逻辑上把一组数据文件看成是一个集合,就是一个表空间。 一个数据库
2017-09-25 23:59:41
621
原创 ORACLE监听配置以及使用plsql连接oracle
1,监听配置 监听配置有三种方法: 1,net manager里监听程序下添加 2,net configuration Assistant里面配置 3,通过cmd,敲命令netca,来打开net configuration assistant来配置 这里推荐第三种方法,因为前两种方法无法知道最后是否配置成功,而第三种方法最后配置的结果会在cmd里输出出来,直观的让你知道配置结果。配置好监听
2017-09-24 00:16:43
8400
原创 oracle配置监听问题——注册表中没有OracleOraDb11g_home1TNSListener
注册表中没有OracleOraDb11g_home1TNSListener的问题。 这是今天遇到一系列问题的最终根源问题,将这个放在开头是希望能方便有同样问题的人方便搜索到。 下面为解决定位到这个问题以及最终解决这个问题的过程。之前装的oracle因为字符编码是gbk,在使用上不方便,所以今天得空卸载了oracle重装。 卸载oracle的全部流程可见如下博文:http://blog.csdn
2017-09-23 17:34:56
25300
6
原创 在fragment中设置bar,getSupportActionbar()返回null,添加up action失败的原因。
这几天笔者在开发一个备忘录的小项目,昨天晚上在给APP设置Toolbar的时候,想给bar上加一个回退箭头的时候,遇到了getSupportActionbar()返回null的问题。 首先是谷歌官方的给bar设置up action的代码: 在manifest里: <activity android:name="com.example.myfirstapp.MainActivity
2016-09-16 21:07:04
4813
原创 thinking in java test chapter10(1)~(21)
练习(1):编写一个名为Outer的类,它包含一个名为Inner的类。在Outer中添加一个方法,它返回一个Inner类型的对象。在main()中,创建并初始化一个指向某个Inner对象的引用。public class Test1 { class Inner{} public Inner getInner(){ return new Inner();
2016-09-14 21:24:31
2015
1
原创 thinking in java test chapter9接口(11)~(19)适配器模式,工厂模式
练习(11):创建一个类,它有一个方法用于接受一个String类型的参数,生成的结果是将该参数中每一个字符进行互换。对该类进行适配,使得它可以用于interfaceprocessor.Apply.process()。 适配器设计模式,就是接受你所拥有的接口,并产生你所需要的接口。 这里我们可以写一个adapter类,它继承了interfaceprocessor里的processor接口,并且有一
2016-09-13 12:31:16
2233
1
原创 thinking in java test chapter9接口(1)~(10)
抽象方法是没有方法体的方法,java提供的一种机制,仅有声明而没有方法体。语法:abstract void f(); 包含抽象方法的类叫做抽象类。如果一个类包含一个或多个抽象方法,该类必须被限定为抽象的。 抽象类无法创建对象,创建抽象类的对象是不安全的。 从抽象类继承产生一个新类,必须为基类中所有抽象方法提供方法定义。如果不这样做,那么意味着新类中还有至少一个抽象方法,根据抽象类的定义,这个新
2016-09-12 15:15:38
1404
原创 thinking in java test chapter8(13)~(17)
练习(13):在ReferenceCounting.java中添加一个finalize()方法,用来检校终止条件。 finalize()方法是垃圾回收器在清理对象是会优先调用的方法,用以清理一些垃圾回收器不知道如何释放的特殊内存。 此处shared就是Composing中一个难以判断是否回收的特殊内存。public class Test13 { public static void ma
2016-09-11 13:14:02
1282
原创 thinking in java test chapter8多态(1)~(12)
练习(1):创建一个Cycle类,它具有子类Unicycle,Bycycle,Tricycle.演示每一个类型的实例都可以经由ride()方法向上转型为Cycle. 向上转型就是允许将多种从同一基类的导出类看成同一类型。 多态方法调用就是允许一种类型表现出与其他相似类型之间的区别,只要他们是从同一基类导出而来的。这种区别由各个导出类型方法的具体不同实现而表现出来的,虽然这些方法都是由基类调用
2016-09-10 16:20:46
4431
1
原创 thinking in java test chapter7练习(1)~(10)组合与继承
练习(1):创建一个简单的类。在第二个类中,将一个引用定义为第一个类的对象。运用惰性初始化来实例化这个对象。 编译器不会给每个引用默认创建对象,因为这样会造成资源的浪费。想要初始化引用,必须按这种格式:类型 类名 = new 类型; 初始化引用可以在一下4种位置上进行: 1,在定义对象的地方。就是我们在新创建一个引用时直接在后面创建对象。我们知道编译器加载java文件时先加载各种静态成员,再
2016-09-08 13:12:17
1311
原创 thinking in java test chapter6练习(1)~(9)以及翻译问题
练习(1):在某个包中创建一个类,在这个类所处的包外部创建该类的实例。 代码如下:public class testTest6_1 { public static void main(String[] args){ test6_1 example = new test6_1("num1"); System.out.println(example.getN
2016-09-07 15:04:13
2142
原创 thingking in java test5.9练习(19)(20)(21)(22)
练习(19):写一个类,它接受一个可变参数的String数组。验证你可以向该方法传递一个用逗号分割的String列表,或是一个String[].public class test5_8_19 { public static void main(String[] args){ String[] strs = new String[]{"1","2","3","4","5"};
2016-09-05 11:29:58
820
原创 thinking in java test5.8练习(16)(17)(18)
练习(16):创建一个String对象数据,并为每一个元素都复制一个String。用for循环来打印该数组。public static void main(String[] args){ String[] str = new String[5]; str[0] = "杭州"; str[1] = "举办"; str[2] = "G20";
2016-09-04 10:34:59
488
原创 thinking in java test练习(13)(14)
练习(13):验证前面段落中的语句。public class test5_7_13 { public static void main(String[] args){ System.out.println("inside main()");// Cups.cup1.f(99); } static Cups cups1 = new Cups();
2016-09-03 10:45:22
516
原创 thinking in java test5.5练习(10)(11)(12)finalize()方法
练习(10):编写具有finalize()方法的类,并在方法中打印消息。在main()中为该类创建一个对象。试解释这个程序的行为。 我们知道java有垃圾回收机制,垃圾回收机制会在必要的时刻回收内存。但是要注意的是,垃圾回收器只知道释放那些由new分配的内存。程序有时候会存在某些特殊的内存,不是由new获得的,此时垃圾回收器就无法对其清理。这时候finalize()方法就起作用了。 如果一个类中
2016-09-02 10:13:35
1620
4
原创 thinking in java test练习(8)(9)this关键字
练习(8):编写具有两个方法的类,在第一个方法内调用第二个方法两次:第一次调用时不使用this关键字,第二次使用时使用this关键字——这里只是为了验证它是起作用的,你不应该在实践中使用这种方法。 代码如下:public class test5_4_8 { public static void main(String[] args){ testThis tt = new t
2016-09-01 09:45:38
551
原创 thinking in java test5.3练习(3)(4)(5)(6)(7)
练习(3):创建一个带默认构造器(即无参构造器)的类,在构造器中打印一条消息。为这个类创建一个对象。 代码如下:public class test5_3_3 { public static void main(String[] args){ wucan wucan = new wucan(); }}class wucan{ public wucan(){
2016-08-30 10:38:30
1028
原创 thinking in java test5.1练习(1)(2)
练习(1)题目:创建一个类,它包含一个未初始化的String引用。验证该引用被Java初始化成了null。 代码如下:public class Test5_1_1 { public static void main(String[] args){ Test t = new Test(); System.out.println(t.str); }}
2016-08-16 20:57:42
712
原创 thinking in java test4.8练习(8)(9)(10)吸血鬼数字
练习(8)题目:写一个switch开关语句,为每一个case打印一个消息。然后把这个switch放进for循环来测试每一个case。先让每一个case后面都有break,测试一下会怎样,然后把break删了,看看会怎样。 这个题目很简单,代码如下:public static void main(String[] args){ for (int i = 0; i < 5; i++)
2016-08-11 22:13:48
610
原创 thinking in java test4.5练习(6)(7)
题目:修改前两个程序中的两个test()方法,让它们接受两个额外的参数begin和end,这样在测试testval时将判断它是否在begin和end(包括begin和end)的范围内。代码如下:public class Test4_6 { private static final int OUT_OF_BOUNDARY = -10; public static void main(S
2016-08-10 20:09:02
544
原创 thinking in java test4.3练习(1)(2)(3)(4)(5)用三元操作符和按位操作来显示二进制
题目(1):写一个程序,打印从1到100的值。 代码如下:public class Test4_3_1 { public static void main(String[] args){ for (int i = 0; i 100; i++) { System.out.println(i); } }}这是简单的
2016-08-09 20:47:03
2036
3
原创 thinking in java test3.17练习(14)
题目:编写一个接受两个字符串参数的方法,用各种布尔值的比较关系来比较这两个字符串,然后把结果打印出来。做==和!=比较的同时,用equals()作测试。在main()里用几个不同的字符串对象调用这个方法。在3.17小节里,在代码里展示了各种基本类型支持的运算,不支持的都注释掉了。我们按照书上的形式来测试一下boolean能用哪些运算。 代码如下:public class Test3_17 {
2016-08-07 09:54:13
630
原创 thinking in java test3.11练习(11)(12)(13)
练习(11)题目:以一个最高有效位为1的二进制数字开始(提示:使用十六进制常量),用有符号右移操作符对其进行右移,直至所有的二进制位都被移除为止,每移一位都要使用Integer.toBinaryString()显示结果。我们知道在Java中,int类型的数是32位(这里不选用其它类型的数是因为它们在进行移位操作时会被转换成int类型,所以为了方便起见直接使用int),最高位为1,按照十六机制计数,最
2016-08-06 09:37:55
781
原创 thinking in java test3.10练习(10)按位运算
题目:编写一个具有两个常量值的程序,一个具有交替的二进制位1和0,其中最低有效位为0,另一个也具有交替的二进制位1和0,但是其最低有效位为1(提示:使用十六进制常量来表示是最简单的方法)。取这两个个值,按位操作符以所有可能的方式结合运算它们,然后用Integer.toBinaryString()显示。按题目要求,第一个数的二进制为这样:…01010101010,最后一位必须是0,第二个数的二进制是这
2016-08-05 09:31:13
775
原创 thingking in java test3.8练习(8)(9)
题目:展示用十六进制和八进制计数法来操作Long值,用long.toBinaryString()来显示结果。Java中十六进制八进制的表示方法同c语言相同,十六进制以0x开头,八进制以0开头,注意这里都是——零。public class test3_8 { public static void main(String[] args){ long sixteen1 = 0x4f
2016-08-04 09:31:49
567
原创 thingKing in Java test3.8练习(7)扔硬币
题目:编写一个程序,模拟扔硬币的结果。 代码如下public class test3_7 { public static void main(String[] args){ int front = 0;//记录出现正面的次数 int back = 0;//记录出现反面的次数 for (int i = 0; i < 1000000; i++)
2016-08-03 09:02:05
291
原创 thingking in Java test3.7练习(5)(6)
题目(5):创建一个名为dog的类,它包含两个string域:name和says。在main()方法中,创建两个Dogs对象,一个名为spot(它的叫声为”Ruff!”),另一个名为scruffy(它的叫声为”Wuff!”)。然后显示它们的名字和叫声。 代码如下:public class Dog { public String name; public String says;
2016-08-02 09:08:11
913
原创 Android开发之获取当前展示的activity的包名,类名
在进行Android开发学习过程中,有时候我们想实现这种功能: 从自己写的小应用里启动其它APP。 这听起来似乎很简单,使用intent的隐式启动就可以了。 Intent intent = new Intent(); intent.setClassName(包名,类名); startActivity(intent); 似乎三句代码就解决问题,但是问题的关键在与,你怎么知道你要启动的APP
2016-08-01 09:54:26
6235
3
原创 thinking in java test3.4练习(2)(3)别名机制
题目:创建一个包含float域的类,并用这个类来展示别名机制。 别名机制是指多个引用指向同一个对象。 我们知道Java里操作对象一般是通过引用来完成的,而引用的指一般是所指向的对象的内存地址。比如有两个引用a1,a2,分别指向两个对象。此时进行a1 = a2操作,这个操作的结果是把a2的值赋给了a1,也就是a1之后也指向了a2。a1之前引用的对象将会在某个时刻被垃圾回收器自动清理。 这就是别名对
2016-08-01 08:53:38
485
原创 thinking in Java test3.1练习(1)print,println,printf
题目:使用“简短的”和正常的打印语句来编写一个程序这里使用“简短的”打印语句需要导thinking in Java作者个人写的包。笔者没有找到资源,就忽略这一步。public class test3_1 { public static void main(String[] args){ System.out.print("输出内容"); System.out.
2016-07-31 09:02:35
384
原创 thinking in java test练习(12)(13)javadoc的生成
练习(11)找出HelloDate.java的第二个版本,也就是那个简单注释文档的示例。对该文件执行javadoc,然后通过web浏览器观看运行结果。HelloDate.java的第二个版本就是P35面有注释那个版本 代码:import java.util.Date;/** * Created by lenovo on 2016/7/30. * The first Thinking in ja
2016-07-30 09:14:39
472
原创 thingking in java test2.11(11)
题目:将AllTheColorsOfTheRainbow这个示例改写成一个程序,然后编译,运行。示例在P36.public class AllTheColorsOfTheRainbow { int anIntegerRepresentingColors; void changeTheHueOfTheColor(int newHue) {}}好吧,这个就是这样,没什么运行结果。
2016-07-29 08:55:19
342
原创 thingking in java test2.11练习(10)以及IDE中args的提前输入
题目:编写一个程序,打印出从命令行获得的三个参数。为此,需要确定命令行数组中String的下标。在练习(1)中我们提到过,main的参数args是用来存储命令行参数的,args是一个String数组,所以我们用数组下标从args里面就可以获取到命令行参数。 源代码如下:public class test2_10 { public static void main(String[] args
2016-07-28 09:11:20
1128
原创 thinking in java test2.11练习(9)之java装箱拆箱
题目:编写一个程序,展示自动包装功能对所有的基本类型和包装类型都起作用。基本类型指九大基本数据类型boolean,char,byte,short,int,long,float,double,void 与之对应的包装器类型分别为 Boolean,Character,Byte,Short,Integer,Long,Float,Double,Void我们知道,基本数据类型是需要特殊对待的类型,声明一个
2016-07-27 09:23:19
774
原创 thingking in java test2.11练习(8)
题目:编写一个程序,展示无论你创建了某个特定类的多少个对象,这个类中的某个特定的static域只有一个实例。题目考察我们对static的理解和应用。 代码如下:public class test2_8 { public static void main(String[] args) { num n1 = new num(); num n2 = new num
2016-07-25 09:53:35
352
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人