随手记(杂乱篇)

1.组织按钮冒泡 
 意义:大按钮,小按钮,点击小的按钮,不会触发大的按钮事件
 例子:
 document.onclick = function() {    //这个是点击页面触发
        if($('.tableBox .title .add span').next().css("display")=='block'){
            $('.tableBox .title .add span').next().toggle();
        }
    }

    $('.tableBox .title .add span').click(function(event){    //这个是点击新增按钮触发  
        $(this).next().toggle();
        event.stopPropagation();    //组织冒泡方法
    })
2.vue绑定select下拉框选中事件
html:  v-on:change="gueryTime()"

方法: gueryTime:function(){
                document.getElementById('d3').value    //选中的value
            },
3.基本数据类型所占字节数:
byte:1字节       默认值0   
short::2字节    默认值:0
int:4字节   默认值:0
long:8字节  默认值0
float:4字节  默认值0.0f
double:8字节  默认值0.0d
char:2字节   默认值  '\u0000'
boolean:4字节  默认值:false
4.求一个范围的质数    以10为例
int num=10;   
		int j=0;
		for(int i=2;i<=num;i++){
			j=2;
			while(i%j!=0){    只能被1和它本身整除,所以,只有不被整除的,才能进来
				j++;
				if(j==i){
					System.out.println(i);
				}
			}
		}
5.时间计算:
Calendar calendar = Calendar.getInstance();  //当前时间  月份比当前时间少1(这里是从0开始的。主要用的时候得处理)
calendar.add(Calendar.DATE, -1);  /前一天  
calendar.set(Calendar.YEAR, 0);  //设定当前时间
cal.getTimeInMillis();  //获取时间戳
6.a.indexOf(b):是在a中找b,找不到 返回-1
7.分页(假分页)
itemList是已经查询出来的数据集合
List<Map<String, Object>>  items = new ArrayList<Map<String, Object>>();
		int pageBegin=pageSize*(pageNo-1);
		int pageEnd=pageSize*(pageNo-1)+pageSize;
		for(int i=0;i<=itemList.size()-1;i++){
			if(i>=pageBegin && i<pageEnd){
				items.add(itemList.get(i));
			}
		}
		resultVo.setPageNo(pageNo);     //页数
		resultVo.setPageSize(pageSize);    //每页显示的个数
		resultVo.setTotal((long)(itemList.size()));    //总数
		resultVo.setCurrentPage(pageNo);   //页码暂存器
		resultVo.setPages(pageNo);       //当前的页码
		resultVo.setRows(items);
备份表:
CREATE TABLE 备份表名  SELECT * FROM 原表名
批量换掉字符:
UPDATE 表名 SET 列名=REPLACE(列名,'原字符','新字符') 


```clike
map的四大遍历方式
方式一:
/**
* 最常见也是大多数情况下用的最多的,一般在键值对都需要使用
 */
Map <String,String>map = new HashMap<String,String>();
map.put("熊大", "棕色");
map.put("熊二", "黄色");
for(Map.Entry<String, String> entry : map.entrySet()){
    String mapKey = entry.getKey();
    String mapValue = entry.getValue();
    System.out.println(mapKey+":"+mapValue);
}
方式二:在for循环中遍历key或者values,一般适用于只需要map中的key或者value时使用,在性能上比使用entrySet较好;
Map <String,String>map = new HashMap<String,String>();
map.put("熊大", "棕色");
map.put("熊二", "黄色");
//key
for(String key : map.keySet()){
    System.out.println(key);
}
//value
for(String value : map.values()){
    System.out.println(value);
}
方法三:通过Iterator遍历;
Iterator<Entry<String, String>> entries = map.entrySet().iterator();
while(entries.hasNext()){
    Map.Entry<String, String> entry = entries.next();
    String key = entry.getKey();
    String value = entry.getValue();
    System.out.println(key+":"+value);
}
方法四:通过键找值遍历,这种方式的效率比较低,因为本身从键取值是耗时的操作;
for(String key : map.keySet()){
    String value = map.get(key);
    System.out.println(key+":"+value);
}
sql语句强转:
sql语句中把字符类型转换成数字类型:
oracle:num(字符)
例:select * from A order by num(字符字段)
mysql:+0
select * from A order by 字符字段+0;

与es公用的kibana默认端口:5601
mysql:3306;
oracle:1521
重载:方法名相同,参数个数、参数类型不同,跟返回值没有什么关系
重写:用于继承,子必须重写父的方法才能被调用
java中的内存(jvm)
1.寄存器:是最快速的存储机构,位于处理器内部,无法用代码对其产生影响,只能看着
2.本地方法区:在本地方法栈中执行的非java代码,如C;C++等等
3.方法区:再java虚拟机创建是就启动,是所有线程共享的内存区域,存储已经被虚拟机加载的类信息,常量,静态变量,以及编译器编译后的代码数据(包含所有的class类和static变量)。
4.堆:用于存放数组和对象,也就是实体,更直白点就是封装多个参数的实体类,还有成员变量(直接定义在类中的变量)(可被所有的线程共享,不会存别的对象的引用)
5.栈:存放的都是局部变量(函数中声明的变量,函数上的参数),只要函数结束,就会释放
补充:
栈:main方法是在栈中的
ApiPageVO result= new ApiPageVO();
new的时候内存中执行的操作:
1.先将硬盘上指定位置的ApiPageVO.class文件记载进内存。
2.执行main方法,在栈内存中开辟main方法的空间(压栈-进栈),然后在main方法的变量。
3.在堆内存中开辟一个实体空间,分配了一个内存首地址值,new
4.在该实体空间中进行属性的分配空间,并默认初始化
5.对空间中的属性进行显示初始化
6.对实体的构造代码块进行初始化
7.调用该实体对应的构造函数,并出池化
8.将首地址值赋给result,result变量就引用了该实体
栈内存和堆内存的区别
1.栈内存很小,可以通过-Xss定义栈的大小,堆内存很大,可以通过-Xms和-Xmx JVM选项定义开始的大小和堆内存的最大值
2.栈内存速度很快,堆内存相对慢
3.栈内存生命周期,在大括号内存活,堆内存,生命周期从程序运行开始到结束;存在堆内存中的对象可以被任何程序访问,栈内存不能被其他线程使用
5.应用程序所有的程序部分使用堆内存,栈内存是通过一个线程来调用
6.无论对象什么时候创建,它始终存在堆内存中,栈内存只保留它的引用

在这里插入图片描述

图解:
1.项目运行起来,方法区中加载application类中的main方法,这个是整个程序的入口,并且声明了方法中的属性,常量池:旺财
2.与此同时,有于main方法中调用其他的类或者方法,所以,栈中也加载main方法
3.程序走到Pat dog=new Pat()的时候,调用加载pat这个类,以及类中的属性还有方法,方法区中,加载Pat这个类,以及方法和属性,常量等等,栈中开辟出空间存放dog这个属性,并指向因此在堆中开辟空间new Pat()的地址,并在堆中给其中的属性初始化,以及方法的加载(这里其实调用了方法区中的Pat的方法),然后把方法区中的类中的属性复制的常量旺财复制给堆中new Pat()的name值,至此堆中的所有的属性和方法都可以使用了
4.方法中区有快特殊的区域,就是静态方法区,就是static修饰的东西,这个写东西是跟main方法一起加载的。
5.方法区,就是堆中的一块区域
6.任何地方调用静态方法区中的东西,都是可以直接调用的
关于static关键字的知识点
1.statici修饰的变量,是静态变量 比如:private static int i=0;
2.statici修饰的方法,是静态方法:比如 public static void  a(){}
3.static:static{}  就是一个静态块
4.static修饰的类,是静态类,public static class A{}
5.执行顺序:静态变量(静态块,谁在前谁先执行)--静态方法(调用才执行)
6.静态资源实在类初始化的时候就加载的,非静态资源只有在调用的时候再加载
7.几个注意
 1. 静态方法不能调用非静态资源,因为静态资源是在初始化的时候,加载的,但是,非静态资源只有在new的时候才加载,由于加载时间不同。两个根本不认识,所以不能
 2. 静态方法可以调用静态资源,都是同时加载的,所以认识
 3. 非静态资源可以引用静态资源,因为静态先加载,非静态资源new的时候肯定认识静态资源了,所以可以调用

按照时间段分组
mysql:关键字  DATE_FORMAT
eg:select count(*) from  base_book_version GROUP BY DATE_FORMAT('2011-05-04 00:00:00','2019-02-25 00:00:00')
常用的dos命令:
cd切换磁盘:  cd /d c:
创建test的文件夹: md test    md (目录名)
在test里面创建文件:cd>a.txt   cd>(文件)
在test里面删除a.txt:del a.txt   del(文件)
的目录中删除test文件夹:rd test   rd (目录名)
打开计算机:calc
打开记事本:notepad
打开画图工具:mspaint
退出:exit
jdk官方文档:
https://docs.oracle.com/javase/7/docs/api/   这个是jdk7的官方文档
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值