- 博客(25)
- 收藏
- 关注
转载 无基础如何学习C语言?C语言入门经验分享
C语言是面向过程的,而C++是面向对象的 C和C++的区别: C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现过程(事务)控制)。 C++,首要考虑的是如何构造一个对象模型,让这个模型能够契合与之对应的问题域,这样就可以通过获取对象的状态信息得到输出或实现过程(事务)控制。 所以C与C++的最大区别在...
2019-08-06 14:54:01 578
转载 redis使用案例
1.计数器 string单线程,避免并发问题,保证不会出错,毫秒级性能命令:INCRBY incrby2.队列 list 简单消息队列、用户第几个访问、新闻列表排序由于redis把数据添加到队列是返回添加元素在队列的第几位,所以可以做判断用户是第几个访问这种业务新闻列表页面最新的新闻列表,redis的 LPUSH命令构建List3.在线状态、签到(大数据处理)几亿用户系统的签到,去重...
2019-08-05 17:25:29 412
转载 Python—三目运算
Python 可通过 if 语句来实现三目运算的功能,因此可以近似地把这种 if 语句当成三目运算符。作为三目运算符的 if 语句的语法格式如下:(True_statements) if (expression) else (False_statements)三目运算的规则是:先对逻辑表达式 expression 求值,如果逻辑表达式返回 True,则执行并返回 True_statements...
2019-08-05 17:23:52 318
转载 Python基础day12飞机大战
飞机大战代码:搭建界面#coding=utf-8import pygame‘’’1. 搭建界面,主要完成窗口和背景图的显示‘’’def main():#1. 创建一个窗口,用来显示内容screen = pygame.display.set_mode((480,852),0,32)#2. 创建一个和窗口大小的图片,用来充当背景background = pygame.image...
2019-08-05 16:59:09 198
转载 java线程池常见面试题
什么是线程池?线程池是一种多线程处理形式,处理过程中将任务提交到线程池,任务的执行交由线程池来管理。如果每个请求都创建一个线程去处理,那么服务器的资源很快就会被耗尽,使用线程池可以减少创建和销毁线程的次数,每个工作线程都可以被重复利用,可执行多个任务。为什么要使用线程池?创建线程和销毁线程的花销是比较大的,这些时间有可能比处理业务的时间还要长。这样频繁的创建线程和销毁线程,再加上业务工作线...
2019-08-05 16:54:10 1033
转载 springboot日志
A.日志框架1. 引入我在开发阶段通过 System.out.print("") 进行测试,上线之后把日志输出到一个日志里记录运行情况我们可以自定义一个框架,用于记录运行时的一些信息改进:将日志进行过滤功能,异步模式,自动归档…改进:新框架出来了,要改代码替换之前的框架面向接口编程日志抽象层向项目中导入不同的日志实现2. 市面上的日志框架JUL, JCL, J...
2019-08-05 16:46:02 206
转载 springmvc整合
一、快速搭建SpringMVC环境1、搭建思路1)、创建web项目及controller包 2)、导入坐标3)、创建spring-mvc核心配置文件 4)、配置web.xml5)、编写controller及业务方法 6)、启动服务进行测试 2、具体开发 1)、创建web项目及controller包1.1、创建项目过程此处省略… 1.2、注意事项1.2.1、项目结构如下图,注:web包在...
2019-08-05 16:44:05 152
转载 TreeSet两种自然比较方法
一:1.用TreeSet集合存储自定义对象,无参构造方法使用的是自然排序对元素进行排序的自然排序,2.就是让元素所属的类实现Comparable接口,重写compareTo(T o)方法3.重写方法时,一定要注意排序规则必须按照要求的主要条件和次要条件来写public class Student implements Comparable {@Override public int ...
2019-08-05 16:36:52 239
转载 分布式ID生成解决方案
1.2.1 UUID常见的方式。可以利用数据库也可以利用程序生成,一般来说全球唯一。优点:1)简单,代码方便。2)生成ID性能非常好,基本不会有性能问题。3)全球唯一,在遇见数据迁移,系统数据合并,或者数据库变更等情况下,可以从容应对。缺点:1)没有排序,无法保证趋势递增。2)UUID往往是使用字符串存储,查询的效率比较低。3)存储空间比较大,如果是海量数据库,就需要考虑存储量的...
2019-08-05 16:35:04 138
转载 分布式缓存系统Memcached入门
维基百科上对 Memcached 的介绍是一个分布式的缓存系统, 但是 Memcachd 到底是什么意思,有什么作用呢?缓存一般用来保存一些经常被存取的数据和资源(例如:浏览器会将访问过的网页会话缓存起来),因为通过缓存来存取数据要比从磁盘存取同样的数据要快得多。所以 Memcached 顾名思义,意味着 “内存缓存”,所有缓存的内容都在服务器的内存中。内存中的这些缓存数据可以通过 API 的方式...
2019-08-01 15:47:01 145
转载 Web开发中如何解决中文乱码问题
乱码问题永远是Web初学者的一个拦路虎,如果要避免乱码问题。需要了解乱码问题的成因。首先介绍几种常见的编码。UTF-8(8-bit Unicode Transformation Format)UTF-8 是一种针对Unicode的可变长度字符编码,也是一种前缀码。它可以用来表示Unicode标准中的任何字符,且其编码中的第一个字节仍与ASCII兼容,这使得原来处理ASCII字符的软件无须或只须...
2019-08-01 15:19:25 1192
转载 hbase调优详解(1)服务器参数调优
一、服务器参数调优1、hbase.regionserver.handler.count:增加服务器的处理线程数hbase.regionserver.handler.count:该设置决定了处理RPC的线程数量,默认值是10。这样设置的目的是防止服务器在某些情况吓出现内存耗尽的情况。如果服务器上的可用内存较少,就应该将该属性设置为较低的值。如果每个请求只需要一点点的内存,但是每秒TPS却很高,...
2019-08-01 15:06:22 1297
转载 使用 Docker 搭建你自己的 RSS 服务(Miniflux)
使用 Docker 搭建你自己的 RSS 服务(Miniflux)在算法推荐满天飞的世界里,定制获取信息就显得比较另类了,但是它可能是更高效的手段。本篇是我之前提到的三种常规的 RSS 服务搭建方式的第三篇,Miniflux。如果你有阅读过我之前写的文章,那么参考本篇文章将文章搭建起来,应该只需要3分钟或者更少,如果你没有看过,那么可以点击本文相关的文章标签,阅读过往的文章。关于 Mini...
2019-08-01 15:00:09 1314
转载 轻松搞定python中模板和包的使用
模块1.1 模块的概念模块是 Python 程序架构的一个核心概念每一个以扩展名 py 结尾的 Python 源代码文件都是一个 模块模块名 同样也是一个 标识符,需要符合标识符的命名规则在模块中定义的 全局变量 、函数、类 都是提供给外界直接使用的 工具模块 就好比是 工具包,要想使用这个工具包中的工具,就需要先 导入 这个模块1.2 模块的两种导入方式1)import 导入...
2019-08-01 14:46:04 200
转载 csrf和xss攻击
什么是csrf攻击?跨站请求伪造csrf攻击的原理1,登陆正常网站A2,返回cookie存储到用户C3,用户C没登出访问B4,B伪造请求发送给A5,A不能判断请求的来源,处理了B的请求达到攻击针对csrf攻击进行防护a.验证 HTTP Referer 字段;b.在请求中添加 token 并验证;c.在 HTTP 头中自定义属性并验证;什么是xss攻击?跨站脚本攻击xss攻...
2019-08-01 14:41:01 133
转载 数据库优化
1、MySQL优化综合性技术表的设计合理化(符合3NF,有时也要进行反三范式操作)添加适当索引分表技术(水平分割、垂直分割)主从复制,读写分离存储过程(模块化编程,可以提高速度)对MySQL配置优化(配置最大并发数my.ini,调整缓存大小)系统应用优化等服务器的硬件优化2、索引分类单值索引一个索引只包含单个列,一个表可以有多个单值索引,一般来说, 一个表建立索引不要超过5个...
2019-08-01 14:39:20 136
转载 Mysql相关优化建议
数据库优化总结1.对查询进行优化,要尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:select id from t where num is null最好不要给数据库留NULL,尽可能的使用 NOT NULL填充数据库.备注、描述、评论之...
2019-07-26 16:08:48 109
转载 CAS的详细登录流程
上图是3个登录场景,分别为:第一次访问www.qiandu.com、第二次访问、以及登录状态下第一次访问mail.qiandu.com。下面就详细说明上图中每个数字标号做了什么,以及相关的请求内容,响应内容。2.1、第一次访问www.qiandu.com标号1:用户访问http://www.qiandu.com,经过他的第一个过滤器(cas提供,在web.xml中配置)Authenticat...
2019-07-26 16:03:48 395
转载 7 个有用JavaScript技巧
数组去重var arr = [1, 2, 3, 3, 4];console.log(…new Set(arr))>> [1, 2, 3, 4]数组和布尔有时我们需要过滤数组中值为 false 的值. 例如(0, undefined, null, false), 你可能不知道这样的技巧var myArray = [1, 0 , undefined, null, false];...
2019-07-26 15:53:33 128
转载 HTML自学路线
1、实例解析l 声明为 HTML5 文档l 元素是 HTML 页面的根元素l 元素包含了文档的元(meta)数据,如 定义网页编码格式为 utf-8。l 元素描述了文档的标题<br/>l 元素包含了可见的页面内容<br/>l <h1> 元素定义一个大标题<br/>l <p> 元素定义一个段落<...
2019-07-26 15:47:15 354
转载 JavaScript浅克隆和深克隆
一、浅克隆浅克隆是指对象只会被克隆最外部的一层,对于更深层的对象,则依然是通过引用指向同一块堆内存区域。debug结果:二、深克隆JSON对象parse方法可以将JSON字符串反序列化成JS对象,stringify方法可以将JS对象序列化成JSON字符串,这两个方法结合起来就能产生一个便捷的深克隆。debug结果:我们可以很看到,oldObj.c.h与oldObj.c.h不相等了...
2019-07-26 15:35:13 151
转载 Java语言中的异常处理
Java语言中的异常处理异常的概念:java程序在编译或运行过程出现的意外情况。类型转换异常数组越界异常空指针异常算术运算异常…Throwable–Error–Exception:1.编译器异常Exception:日期类型转换异常,文件找不到异常转换异常:ParseException文件找不到异常:FileNotFoundException2.运行时异常RuntimeExc...
2019-07-26 15:27:33 159
转载 Google C++ 编程风格指南:注释
Google C++ 编程风格指南:注释注释虽然写起来很痛苦, 但对保证代码可读性至关重要. 下面的规则描述了如何注释以及在哪儿注释. 当然也要记住: 注释固然很重要, 但最好的代码本身应该是自文档化. 有意义的类型名和变量名, 要远胜过要用注释解释的含糊不清的名字.你写的注释是给代码读者看的: 下一个需要理解你的代码的人. 慷慨些吧, 下一个人可能就是你!7.1. 注释风格使用 // 或...
2019-07-26 15:20:50 344
转载 初学者学习python的几个建议
初学者学习python的几个建议Python是最容易入门的编程语言,没有之一。如果初学者接触的第一门语言是C或者C++,对他们来说最难的不是语法,而是容易出现内存泄漏、指针等问题。有时候排查这些问题对初学者的打击很大,尤其是没掌握排查BUG技巧时。如果初学者接触的第一门语言是Python,学习曲线则会平滑得多,掌握一些基本语法和Python内置的数据结构,已经可以上手写一些小工具或者小型应用。...
2019-07-26 15:14:53 507
转载 JVM的native方法
JVM的native方法一. 什么是Native Method简单地讲,一个Native Method就是一个java调用非java代码的接口。一个Native Method是这样一个java的方法:该方法的实现由非java语言实现,比如C。这个特征并非java所特有,很多其它的编程语言都有这一机制,比如在C++中,你可以用extern "C"告知C++编译器去调用一个C的函数。“A nat...
2019-07-26 15:02:13 245
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人