- 博客(103)
- 资源 (19)
- 收藏
- 关注
原创 43道JavaScript面试题
是一个内置的构造函数,我们可以为它添加属性。相反,如果我们只将它添加到原型中,我们只需将它放在内存中的一个位置,但它们都可以访问它!虽然它看起来像一个数字,但它并不是一个真正的数字:它有一堆额外的功能,是一个对象。如果使用标记的模板字符串,则第一个参数的值始终是字符串值的数组。该函数是具有属性的对象,此属性是可调用的。我们作为参数传递的对象和我们用于检查相等性的对象在内存中位于不同位置,所以它们的引用是不同的。无法直接在您的对象上找到它,但它会沿着原型链向下寻找并在那里找到它,这使您可以访问它。
2023-06-27 22:40:53
346
原创 详解Vue组件系统
自定义事件是我非常喜欢的Vue的一大特性!!!看文档的第一眼我就对它情有独钟(虽然那一天离现在也就几天而已的时间。。。return {counter: 0},methods: {})new Vue({data: {},methods: {})复制复制demo:下面两个按钮是两个相同的子组件,并和上面那个按钮共同组成了父组件。当点击任意一个子组件的按钮,使其加1,都会使得父组件+1,最终:父组件的数值 = 子组件的数值之和点击下方左边button。
2023-06-27 11:40:14
459
原创 Java中的锁
而ReentrantLock是使用state来存储的,而state只能存一个整形值,为了兼容两个锁的问题,所以将其划分了高16位和低16位分别存共享锁的线程数量或独占锁的线程数量或者重入计数。顾名思义就是读写锁,这种读-写锁的应用场景可以这样理解,比如一波数据大部分时候都是提供读取的,而只有比较少量的写操作,那么如果用互斥锁的话就会导致线程间的锁竞争。这种情况下就为一种轮循的锁提供了退出机制。这个接口抽象了锁的主要操作,也因此让从Lock派生的锁具备了这些基本的特性:无条件的、可轮循的、定时的、可中断的。
2023-06-26 22:55:28
1674
原创 Java线程
传统的程序设计语言同一时刻只能执行单任务操作,效率非常低,如果网络程序在接收数据时发生阻塞,只能等到程序接收数据之后才能继续运行。随着 Internet 的飞速发展,这种单任务运行的状况越来越不被接受。如果网络接收数据阻塞,后台服务程序就会一直处于等待状态而不能继续任何操作。这种阻塞情况经常发生, 这时的 CPU资源完全处于闲置状态。多线程实现后台服务程序可以同时处理多个任务,并不发生阻塞现象。多线程是 Java 语言的一个很重要的特征。多线程程序设计最大的特点就是能够提高程序执行效率和处理速度。
2023-06-26 12:38:29
859
原创 js中几种实用的跨域方法原理详解
例如:a.b.example.com 中某个文档的document.domain 可以设成a.b.example.com、b.example.com 、example.com中的任意一个,但是不可以设成 c.a.b.example.com,因为这是当前域的子域,也不可以设成baidu.com,因为主域已经不相同了。上面的例子中,我们用到的页面a.html和b.html是处于同一个域的,但是即使a.html与b.html处于不同的域中,上述结论同样是适用的,这也正是利用window.name进行跨域的原理。
2023-06-25 12:17:23
2184
原创 Java 编程技巧之数据结构
在编写类和方法的时候,一般使用的是具体的类型,而用泛型可以使类型参数化,这样就可以编写更通用的代码。在 C/C++ 语言中,联合体(union),又称共用体,类似结构体(struct)的一种数据结构。JDK5 提供了一种新的类型—— Java 的枚举类型,关键字 enum 可以将一组具名的值的有限集合创建为一种新的类型,而这些具名的值可以作为常量使用,这是一种非常有用的功能。在使用泛型的时候,我们还可以为传入的泛型类型实参进行上下界的限制,如:类型实参只准传入某种类型的父类或某种类型的子类。
2023-06-24 22:03:45
948
1
原创 如何学习java
如果想学Java EE(对不起,我不了解Java ME,所以我无法涉及Java ME的相关内容),对于AWT、Swing是否要学习呢,我个人是觉得还是要知道其所以然的,特别是其事件处理模式,我强烈建议初学者一定要弄清楚,其他具体的开发就不一定要全面掌握了,毕竟AWT、Swing方面的内容足够用几本大部头的书才能描述详尽;再往后,可以学习一些EJB的知识,目前EJB最新版本是3.0,其和前面的2.X版本相比,有较大不同,考虑到目前EJB 2.X还有很大的应用市场,建议结合学习EJB 2.X/3.0。
2023-06-24 11:29:58
280
原创 常用的10个MySQL命令
注意:上面是仅仅是为了演示,在生产环境中,不建议直接使用root用户,建议的是:建一个新用户连接数据库,以及做好权限分配,至于为什么?注意:这里显示了表中的索引信息,从这里就能看出建了哪些索引,联合索引的顺序。注意:该命令详细的展示了表的信息,其中包括表名,表的存储引擎,版本,数据长度,索引长度,创建时间,修改时间等等。注意:我这里使用终端直接连接数据库,\G为按列格式化显示。注意:该命令显示了所有连接数据库的进程数,其中就包括,用户,主机,连接的数据库等信息。命令: show processlist。
2023-06-23 23:25:20
648
原创 mybatis面试题
接口映射就是在IBatis中任意定义接口,然后把接口里面的方法和SQL语句绑定,我们通过直接调用接口方法 例如:UserMapper userMapper=sqlSession.getMapper (UserMapper.class) 就可以,这样比起原来了SqlSession提供的方法,例如List countryList = sqlSession.selectList(“selectAll”);我们可以有更加灵活的选择和设置.。
2023-06-23 12:36:40
268
原创 Redis事件监听
Redis服务器是典型的事件驱动程序,而事件又分为文件事件(socket的可读可写事件)与时间事件(定时任务)两大类。int maxfd;int stop;int flags;复制stop标识事件循环是否结束;events为文件事件数组,存储已经注册的文件事件;fired存储被触发的文件事件;Redis有多个定时任务,因此理论上应该有多个时间事件,多个时间事件形成链表,timeEventHead即为时间事件链表头节点;
2023-06-22 23:12:35
1107
原创 【PHP】文件写入和读取详解
【注意】fopen函数不能理解“\”分隔符,如果你想要使用“\”,那么要使用转义,如写成:"C:\\wamp64\\www\\text.txt"这种写法也是可以的,函数也能理解,不会报错。原来写入的路径参数就失效了。【吐槽】:关于r+和w+,a+的区别,我找了网络上,包括W3C和各种博客文章以及那本“PHP圣经”上的各种资料,发现都是一笔带过去的,这也是我写这篇文章的原因。在mac下不一样的是:敲下回车键的时候,相当于只键入了\n,所以“我叫彭湖湾”的15字节+“\n”的1字节 = 16字节。
2023-06-22 15:06:34
3657
原创 jsp、servlet笔记
------------------------------------------------------------------------------------------------------------- ps: 执行forward时,用户请求的url不会发生改变,转发时客户端的请求参数不会丢失,但页面内容完全被forward目标页内容 所取代。大部分时候,servlet对于所有请求的响应都是一样的,此时,可以重写service()方法即可响应客户端的所有响应。
2023-06-21 22:24:12
751
原创 深入理解循环队列----循环数组实现ArrayDeque
如果显式传入一个代表elements的长度的变量,那么会调用allocateElements做一些简单的处理,并不会简单的将你传入的参数用来构建elements,它会获取最接近numElements的2的指数值,比如:numElements等于20,那么elements的长度会为32,numElements为11,那么对应elements的长度为16。显然,这种结构最致命的缺陷就是,tail只知道向后移动,一旦到达数组边界就认为队满,但是队列可能时刻在出队,也就是前面元素都出队了,tail也不知道。
2023-06-21 12:26:18
827
原创 html面试题
1、xhtml 1.0 Strict 严格模式,不包含展示性与弃用的标签,不允许框架集(framesets),且严格以xml格式来编写标记;2、xhtml 1.0 Transitional 过滤模式,包含展示性与弃用标签,不允许框架集(framesets),且严格以xml格式来编写标记;1、行内元素:span、a、em(强调)、label、textarea、select、sub、sup等 2、块级元素:div、ul、ol、li、h1~h6、table、form、p、dl、dd、dt等。
2023-06-20 23:07:31
1242
原创 Web前端面试题目汇总
在网页中,一个元素占有空间的大小由几个部分构成,其中包括元素的内容(content),元素的内边距(padding),元素的边框(border),元素的外边距(margin)四个部分。Cookie的大小是受限的,并且每次你请求一个新的页面的时候Cookie都会被发送过去,这样无形中浪费了带宽,另外cookie还需要指定作用域,不可以跨域调用。px和em都是长度单位,区别是,px的值是固定的,指定是多少就是多少,计算比较容易。异步是指进程不需要一直等下去,而是继续执行下面的操作,不管其他进程的状态。
2023-06-20 14:22:15
1197
原创 消息队列及常见消息队列介绍
消息队列(Message Queue),是分布式系统中重要的组件,其通用的使用场景可以简单地描述为:当不需要立即获得结果,但是并发量又需要进行控制的时候,差不多就是需要使用消息队列的时候。消息队列主要解决了应用耦合、异步处理、流量削锋等问题。当前使用较多的消息队列有RabbitMQ、RocketMQ、ActiveMQ、Kafka、ZeroMQ、MetaMq等,而部分数据库如Redis、Mysql以及phxsql也可实现消息队列的功能。
2023-06-19 13:49:46
1158
原创 ajax 面试题
send()方法,发送具体请求 abort()方法,停止当前请求 readyState属性 请求的状态 有5个可取值0=未初始化 ,1=正在加载 2=以加载,3=交互中,4=完成 responseText 属性 服务器的响应,表示为一个串 reponseXML 属性 服务器的响应,表示为XML status 服务器的HTTP状态码,200对应ok 400对应not found 12、什么是XML。1、最大的一点是页面无刷新,用户的体验非常好。
2023-06-18 22:27:38
1094
原创 常见算法面试题
动态规划这东西,在面试的时候比较沉重,不好描述,不好书写,而分治却刚刚好,美丽,快捷,易书写,是面试官杀人越货的首选武器。如果是2个,那么先将所有数做异或运算,得到一个数,然后找到这个数的其中一位非0 bit,利用这一位将这组数分成两部分,不成对的两个数不会在同一部分,然后对这两个部分分别调用只有1个情况的算法即可。位图是一个很好的方法,用一个bit(或几个)取代更大的int类型,最常见的位图是1bit 取代 1int,其实,很多时候,1bit可以取代更大的空间,这完全取决于你需要保留的信息。
2023-06-18 13:33:28
1074
原创 Web前端面试题目汇总
在网页中,一个元素占有空间的大小由几个部分构成,其中包括元素的内容(content),元素的内边距(padding),元素的边框(border),元素的外边距(margin)四个部分。Cookie的大小是受限的,并且每次你请求一个新的页面的时候Cookie都会被发送过去,这样无形中浪费了带宽,另外cookie还需要指定作用域,不可以跨域调用。px和em都是长度单位,区别是,px的值是固定的,指定是多少就是多少,计算比较容易。异步是指进程不需要一直等下去,而是继续执行下面的操作,不管其他进程的状态。
2023-06-17 23:55:33
1689
原创 redis锁
具体场景,进程1在超时释放了锁之后,进程2获取到了锁,后来进程1又释放锁,如此以来就有可能导致进程2没有完成就被进程1释放了锁。会设置主从,主从服务器中的从服务器在检测到主服务器挂掉之后,就会重新选举一个作为主服务器,而redis锁是操作在主服务器上的。这个场景,是非常基本的场景,一旦锁被进程1获取之后,在释放锁之前,进程2是怎么知道何时才能够获取到锁呢?这个场景与场景2是一个问题的延伸,一旦我们在设置锁的超时时间过短,就会发生这个情况。针对这种问题,我们其实没有太好的办法,不过还好这种数据的概率比较低。
2023-06-17 12:39:51
4180
原创 Java SSM框架基础面试题
Mybatis实现了DAO接口与xml映射文件的绑定,自动为我们生成接口的具体实现,使用起来变得更加省事和方便。作用:Ioc解决对象之间的依赖问题,把所有Bean的依赖关系通过配置文件或注解关联起来,降低了耦合度。方法:直接在方法中声明这个对象,SpringMvc就自动把属性赋值到这个对象里面。1、SpringMvc 的控制器是不是单例模式,如果是,有什么问题,怎么解决?4、前台多个参数,这些参数都是一个对象,快速得到对象?2、什么是Mybatis的接口绑定,有什么好处?
2023-06-16 23:01:24
423
原创 经典C语言面试题
但在“freeze”时,“ptr”存储的地址会在while循环里被修改,因此导 致传给free()的地址出错,也就导致了seg-fault或者崩溃。所以,如果用户输入一个足够造成缓存溢出并且重写“flag”变量默认值所存在位置的内存的长“密码”,即使这个密码无 法通过验证,flag验证位也变成了非零,也就可以获得被保护的数据了。这个函数返回本地变量的地址。答:上面代码里的问题在于函数gets()的使用,这个函数从stdin接收一个字符串而不检查它所复制的缓存的容积,这可能会导致缓存溢出。
2023-06-16 16:23:30
512
原创 Vue实例
一个 Vue 应用由一个通过 new Vue 创建的根 Vue 实例,以及可选的嵌套的、可复用的组件树组成。个人理解:我认为通俗的来讲,就是将数据加入到我们创建的Vue实例中,我们就可以让通过获取这个实例上的property从而获得源数据。当一个 Vue 实例被创建时,它将 data 对象中的所有的 property 加入到 Vue 的响应式系统中。当这些数据改变时,视图会进行重渲染。个人认为我们只需记住,所有的 Vue 组件都是 Vue 实例,并且接受相同的选项对象 (一些根实例特有的选项除外)。
2023-06-15 22:22:28
631
原创 spring boot redis分布式锁
代码中分为集群模式和单机模式,并且两者的方法、参数都一样,原因是spring封装的执行脚本的方法中(RedisConnection接口继承于RedisScriptingCommands接口的eval方法),集群模式的方法直接抛出了不支持执行脚本的异常(虽然实际是支持的),所以只能拿到Redis的connection来执行脚本,而JedisCluster和Jedis中的方法又没有实现共同的接口,所以只能分开调用。锁是针对某个资源,保证其访问的互斥性,在实际使用当中,这个资源一般是一个字符串。
2023-06-15 11:38:25
1163
原创 SQL Server 数据加密功能解析
数据加密是被破解、物理介质被盗、备份被窃取的最后一道防线,数据加密,一方面解决数据被窃取安全问题,另一方面有关法律要求强制加密数据。的数据加密相较于其他数据库,功能相对完善,加密方法较多。通常来讲,数据加密分为对称加密和非对称加密。对称加密:加密与解密使用同一密钥,密钥需要传输,安全性较弱,但性能较非对称要好。非对称加密:加密与解密使用不同密钥(公钥和私钥),较对称密钥安全性较好,但是算法较复杂,带来性能上的损失。因此,折中的方法是使用对称密钥加密数据,使用非对称密钥加密对称密钥。
2023-06-14 21:42:59
2870
原创 SpringMVC入门
orm.jar,spring-web.jar, spring-webmvc.jar 10) spring-orm.jar需spring-core.jar,spring-beans.jar,spring-aop.jar,spring-dao.jar,spring-jdbc.jar,spring-web.jar。使用基于AOP 的Spring特性,如声明。
2023-06-14 11:43:17
498
原创 Java中15种锁介绍
lock()方法利用的CAS,当第一个线程A获取锁的时候,能够成功获取到,不会进入while循环,如果此时线程A没有释放锁,另一个线程B又来获取锁,此时由于不满足CAS,所以就会进入while循环,不断判断是否满足CAS,直到A线程调用unlock方法释放了该锁。代码也比较简单,使用原子引用来存放线程,同一线程两次调用lock()方法,如果不执行unlock()释放锁的话,第二次调用自旋的时候就会产生死锁,这个锁就不是可重入的,而实际上同一个线程不必每次都去释放锁再来获取锁,这样的调度切换是很耗资源的。
2023-06-13 22:44:59
2912
1
原创 常见的Java锁总结:公平锁,独享锁,互斥锁,乐观锁,分段锁,偏向锁,自旋锁等等
自旋锁(spinlock):是指当一个线程在获取锁的时候,如果锁已经被其它线程获取,那么该线程将循环等待,然后不断的判断锁是否能够被成功获取,直到获取到锁才会退出循环。它是为实现保护共享资源而提出一种锁机制。其实,自旋锁与互斥锁比较类似,它们都是为了解决对某项资源的互斥使用。无论是互斥锁,还是自旋锁,在任何时刻,最多只能有一个保持者,也就说,在任何时刻最多只能有一个执行单元获得锁。但是两者在调度机制上略有不同。对于互斥锁,如果资源已经被占用,资源申请者只能进入睡眠状态。
2023-06-13 13:02:06
388
原创 jvm常见面试题
2.有利于对象代的计算,当一个对象在S0/S1中达到设置的XX:MaxTenuringThreshold值后,会将其分到老年代中,设想一下,如果没有S0/S1,直接分成两个区,该如何计算对象经过了多少次GC还没被释放,你可能会说,在对象里加一个计数器记录经过的GC次数,或者存在一张映射表记录对象和GC次数的关系,是的,可以,但是这样的话,会扫描整个新生代中的对象, 有了S0/S1我们就可以只扫描S0/S1区了~~~在这个阶段分配的仅为类的变量(static修饰的变量),而不包括类的实例变量。
2023-06-12 22:32:17
795
原创 SpringBoot整合Redis
但是,每次这样的写入都会特别的繁琐,我们定义一个全局的 Redis 的配置类,以后就无需每次使用都进行序列化器的设置了。上面的代码虽然完成了对哈希的操作,但是略显繁琐,类似上面的操作我们实际中并不会去逐个的进行 put 操作,更多的应该是将一个实体类存储到 Redis 的哈希类型中。可以看到,在键的前面仍然有一些“奇怪”的字符,这些奇怪的字符就是前面看到的那些 16 进制字符。有了 Redis 的依赖之后,我们就可以在项目中很容易的使用 Redis 的 API 来对 Redis 进行操作了。
2023-06-11 23:02:00
2407
1
原创 百度php面试题及答案
基础题: 1.表单中 get与post提交方法的区别? 答:get是发送请求HTTP协议通过url参数传递进行接收,而post是实体数据,可以通过表单提交大量信息.2.session与cookie的区别? 答:session:储存用户访问的全局唯一变量,存储在服务器上的php指定的目录中的(session_dir)的位置进行的存放 cookie:用来存储连续訪問一个頁面时所使用,是存储在客户端,对于Cookie来说是存储在用户WIN的Temp目录中的。 两者都可通过时间来设置时间长短3.数据库中的事务是什么
2023-06-11 13:19:21
1656
原创 常用Sql语句
30.使用COMPUTE BY子句可以对BY后面给出的列进行分组分组显示,并进行列的小计。28.集合函数(对查询结果得到的数据集进行汇总或求平均值等各种运算)29.按照指定的列,对查询结果进行分组统计(课本112页)32.内连接(连接条件通常采用“主键=外键”的形式)24.基本的select 语句。14.删除表中一行或多行数据。27.对查询结果进行排序查询。6.创建表,为表添加约束。2.打开指定的数据库。12.向表中添加数据。13.修改表中的数据。23.自定义数据类型。
2023-06-10 22:36:41
383
转载 HTML5-创建HTML文档
HTML5中的一个主要变化是:将元素的语义与元素对其内容呈现结果的影响分开。从原理上讲这合乎情理。HTML元素负责文档内容的结构和含义,内容的呈现则由应用于元素上的CSS样式控制。下面介绍最基础的HTML元素:文档元素和元数据元素。
2023-06-10 14:26:56
1647
原创 冒泡排序、插入排序、希尔排序、选择排序
而选择排序中的“选择”是指不断从无序序列中选择最小的值放入到有序序列的最后的位置,换句话说就是从现有的无序序列中找出那个最小的值,然后与无序序列的第一个值进行交换,然后缩小无序序列的范围即可。因为有序序列的最后一个值与无序序列的第一个值紧挨着,交换后,这个无序序列中的第一个值就成了有序序列的最后一个值。每一轮插入都会取出无序数列中的第一个元素插入到有序数列中,这个插入的过程其实就是一个比较交换的过程,如果要插入的值比前面的值要小,就要交换,直到不能交换为止。在博客的开头的,我们先给出排序协议的定义。
2023-06-09 22:57:45
1066
原创 hive基本概念
如果需要自定义,配置文件需要创建一个hive-site.xml docs:hive的参考文档 lib:存放jar的地方 metastore_db:该目录是启动hive的和时候,自动生成的一个目录,是用来存放hive的元数据信息。说明: 以上操作完毕之后,可以再浏览器中查看hdfs上的目录结构进行对比 再启动hive的时候,会在hdfs上创建一个目录:user/hive/warehouse/库/表 数据信息在hdfs上都是以目录和文件形式存在,在操作数据的时候需要hdfs和 metastore配合使用。
2023-06-09 12:18:40
1506
原创 6道常见hadoop面试题及答案解析
Hadoop生态系统,拥有15多种框架和工具,如Sqoop,Flume,Kafka,Pig,Hive,Spark,Impala等,以便将数据摄入HDFS,在HDFS中转移数据(即变换,丰富,聚合等),并查询来自HDFS的数据用于商业智能和分析。具有数据的元数据,但也允许指定用于读取文件的独立模式。基于Hadoop的更智能的数据基础设施,其中结构化(例如RDBMS),非结构化(例如images,PDF,docs)和半结构化(例如logs,XMLs)的数据可以以可扩展和容错的方式存储在较便宜的商品机器中。
2023-06-08 23:14:35
1249
原创 Java集合常见面试题集锦
Map与List和Set不同,它是双列的集合,其中有put方法,定义如下:put(obj key,obj value),每次存储时,要存储一对key/value,不能存储重复的key,这个重复的规则也是按equals比较相等。所以,Set集合的add方法有一个boolean的返回值,当集合中没有某个元素,此时add方法可成功加入该元素时,则返回true,当集合含有与某个元素equals相等的元素时,此时add方法无法加入该元素,返回结果为false。List 以特定次序来持有元素,可有重复元素。
2023-06-08 12:40:10
388
原创 Golang面试题
考点:defer执行顺序 解答: 这道题类似第1题 需要注意到defer执行顺序和值传递 index:1肯定是最后执行的,但是index:1的第三个参数是一个函数,所以最先被调用calc("10",1,2)==>10,1,2,3 执行index:2时,与之前一样,需要先调用calc("20",0,2)==>20,0,2,2 执行到b=1时候开始调用,index:2==>calc("2",0,2)==>2,0,2,2 最后执行index:1==>calc("1",1,3)==>1,1,3,4。
2023-06-08 12:37:08
824
基于springboot爬虫基于网页开发和数据抓取技术的在线新闻聚合平台源码数据库文档.zip
2024-11-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人