自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 收藏
  • 关注

原创 字节跳动飞书业务内推咯~

字节跳动飞书业务内推咯~ 在线办公,未来可期! 北京、杭州、武汉、广州、深圳、上海,六大城市等你来投~ 感兴趣的朋友可以私我咨询&内推,也可以通过链接直接投递! 海量hc,极速响应,快来和我成为同事吧~https://www.feishu.cn/hr/feishu_social_recruitment?token=MzsxNTkwMjg3MTYyMzc5OzY2ODc3OTI2MTcwODM3MDA3NDc7MA&from=timeline&isappinstalled=0&am

2020-05-24 10:48:26 669 1

原创 秋招准备-后台框架-Spring

Spring 核心概念1.什么是IoC    IoC(Invertion of Control),控制反转,解耦合,轻量级。    具体上可以说,以前我们通过在程序里主动创建对象实例实现组件间的依赖关系,会造成组件间互相耦合。    而IoC将实现组件关系交由外部容器来管理,即由容器在运行期将组件间的某种依赖关系动态注入到组件中。    通俗来讲,以前我们要一个什么东西,...

2018-07-22 23:43:48 440

原创 秋招准备-后台框架-Mybatis

Mybatis    Mybatis是一个支持普通SQL查询,存储过程和高级映射的持久层框架。    Mybatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装。    Mybatis可以使用简单的XML或注解用于配置和原始映射,将接口和Java的pojo映射成数据库的记录。     简单介绍    1.mybatis-config.xml    在...

2018-07-21 22:38:58 236

原创 秋招准备-web-HTTP协议小点总结

1.HTTP协议2.请求响应模型3.URI/URL4.HTTP/HTTPS5.HTTP报文6.请求方法7.状态码8.首部分类9.MIME10.Cookie11.HTTP请求过程12.访问网站全过程1.HTTP协议    HTTP协议,是客户端和服务器端之间数据传输的格式规范,超文本传输协议。2.请求响应模型。    基于HTTP协议,客户端和服务器端之间的数据...

2018-07-17 23:12:01 223

原创 秋招准备-Java-并发编程-volatile和线程安全类(八)

1.volatile2.线程安全类3.CAS1.volatile    先简单了解一下Java内存模型    1.Java内存模型    和JVM的运行时数据分区相区别,Java的内存模型是用来描述线程工作的(定义程序中各个变量的访问规则)。可以说是一个抽象概念。    其规定,所有变量(数据)存储在主内存中。(这里的变量指非线程私有的实例字段、静态字段、数组元素~)    每个线程有自己的工作内...

2018-04-20 14:49:02 189

原创 秋招准备-Java-并发编程-同步工具(七)

1.同步工具1.同步工具(java.util.concurrent包)    1.Semaphore    Semaphore是计数信号量。    从概念上讲,Semaphore维护了一个许可集。比方说,定义一个有三个许可的Semaphore,那么在这个许可集下,使用acquire()方法前,会检查许可集,如果许可1,2,3都用了,那么就会阻塞acquire(),直到有一个许可可用,然后获得该许可...

2018-04-19 05:05:56 220

原创 秋招准备-Java-并发编程-ThreadLocal(六)

1.结构分析2.源码分析3.使用和实验1.ThreadLocal结构分析    1.ThreadLocal<T>    ThreadLocal提供了局部变量,主要是通过这个类,将一些线程需要的,本来可能是各个线程共享的变量(Connection),或者是约定好的初始变量(Integer i=0),变成线程自己的私有变量。    即本来许多线程共享一个数据库连接Connection对象,...

2018-04-19 00:44:55 408

原创 秋招准备-Java-并发编程-阻塞队列(五)

1.Queue框架2.生产者消费者模式与阻塞队列3.阻塞队列实现类1.Queue框架    Java的集合类提供了Queue队列的实现,可以分为四个接口来对应相应的队列功能:    Queue:普通队列,头出尾进,一般用于满足FIFO先进先出功能。    Deque:双端队列,双端进出,如果需要实现LIFO后进先出的堆栈功能,优先考虑Deque的实现类,而非Stack接口。    Blocking...

2018-04-18 18:57:39 172

原创 秋招准备-Java-并发编程-Executor框架(四)

1.带返回值的线程2.Executor3.线程池作用1.带返回值的线程    1.Callable接口//java.util.concurrent.Callablepublic interface Callable<V>{ V call() throws Exception;}        和Runnable接口相同,然后可以使用return语句,可以抛出异常这点的话,就是在...

2018-04-13 04:05:43 182

原创 秋招准备-Java-并发编程-显式锁Lock(三)

1.Lock接口与其方法,ReentrantLock为实现类2.Condition接口与其方法,组合ReentrantLock实现条件队列3.ReentrantReadWriterLock读写锁1.Lock接口,ReentrantLock实现类//java.util.concurrent.locks.Lock接口public interface Lock { /** * Lock实现提供...

2018-04-12 21:09:01 327

原创 秋招准备-Java-并发编程-同步机制与synchronized(二)

1.线程安全的一些概念2.同步简述3.synchronized的使用与说明1.线程安全的一些概念    1.正确性        即某个类的行为与其规范完全一致,意思就是功能不能出错,使用多线程编程在带来性能提高的同时,也会由于多线程之间相互影响而导致的功能出错的情况,因此,线程安全,实际上就是确保,大到程序,小到类的方法的正确性,保证每个功能都按其设计的语义来实现,则可以说线程安全。      ...

2018-04-12 05:43:27 218

原创 秋招准备-Java-并发编程-多线程基础(一)

1.线程的五个状态2.线程图3.多线程的实现方式4.Thread常用方法1.线程的五个状态    1.新建:用new实例化一个线程对象。    2.可运行:线程对象创建后,调用start()方法,通知jvm后,等待被线程调度选中。    3.运行:可运行状态的线程被选中后,获得cpu的时间轮片,开始执行run()方法,处于运行状态。    4.阻塞:阻塞状态指线程因某种原因放弃cpu的使用权,暂停...

2018-04-12 03:25:14 198

原创 双检锁(DCL)下volatile的作用

先放代码:public class Singleton{ private static volatile Singleton instance; private Singleton() {} public static Singleton getInstance() { if(instance==null) { synchronized(Singleton.class) ...

2018-04-11 03:06:44 3101 5

原创 秋招准备-Java-JVM-内存区域+GC

Tips:1.Java内存区域,5个区域的存储内容,常量池与直接内存。内存区域与内存模型区别JVM栈中存储的局部变量表(基本类型与引用类型)与栈帧JVM栈中抛出异常的情况JVM堆的分区JVM堆的要点(要结合后面的来讲)方法区和常量池-联系字节码与类加载2.对象的分配、布局、访问创建对象的具体流程对象的大小计算引用如何对应到对象实例。3.GC算法3种垃圾收集算法什么对象需要被GC4.常用GC收集器,...

2018-04-07 03:19:03 258

原创 秋招准备-Java-设计模式(总)

1.单例模式    一个类仅有一个实例,并提供它的全局访问点。    1.饿汉单例            线程安全,非Lazy Loading(延迟加载),类加载时就初始化。较为常用。class Singleton{ private static Singleton instance = new Singleton();//初始化可以放到static{}代码块中 private Single...

2018-04-04 04:17:24 428

原创 秋招准备-Java-OJ常用方法与类

1.java.util.Scanner构造器:        public Scanner(InputStream is)        可选参数System.in,也可用用BufferedInputStream装饰一下,在数据较多的时候稍有优化。方法:        boolean hasNext()    用在多组数据时,while的判断处        String next() / int...

2018-04-03 01:30:02 514 1

原创 秋招准备-算法-位运算(总)

1.对2的指数次方取余--hash的求模实现        一个数n对2的k次方取余,等于对这个数减一做与运算。        n%(2^k) = n & (2^k-1)        所以,在HashMap的源码中,数组的长度不管怎么扩容都要属于2的次方,是因为要确定键值对的桶位时,是用key求出来的hash值,对其长度取余,然后就用到了这个,桶号index = hash & (...

2018-03-29 21:09:05 209

原创 秋招准备-算法-排序(总)

1.Ques:简单介绍选择排序        选择排序通过在每一轮循环中选择出极值,然后将之与未排序好区域的某个端点作交换,完成一次排序。        比如,第一轮选出最小值,此时的未排序区是0~n-1,则将这个最小值与0号数组元素作交换,完成排序,以此类推,外循环n次之后完成排序。        中间变量:保存每次排序最小值的temp,最小值的索引index。2.Ques:简单介绍插入排序  ...

2018-03-29 02:11:33 277

原创 前、中、后缀表达式求值与栈

1.首先弄清前缀、中缀、后缀表达式的含义<1> 中缀表达式即运算符处在两个操作数的中间,该表达式广泛运用于日常,需要人主观进行判断运算符的优先级,不易被机器识别。<2> 前缀表达式即将运算符写在前面,没有括号的表达式,为纪念波兰籍发明者,也称为波兰式。 虽然将中缀改为前缀之后,表达式的求值可以化简成入栈和出栈两个操作,但较于后缀表达式还是比较复杂。<3> 后缀表达式即将运算符写在后面,也称为

2017-03-20 17:27:05 982

原创 循环链表的实现

1.C_Node.h文件#ifndef C_NODE_H#define C_Node_H//节点类#include <iostream>#include <cstdio>using namespace std;class CList;class CNode{ friend class CList; public: CNode(int data=0,CNode

2017-03-15 20:08:19 369

原创 单链表的实现

1.Node.h文件//节点类声明//成员变量:一个int型数据成员,一个指向Node型指针//成员函数:构造、析构、设置int、返回int、设置link、返回link、打印int #ifndef NODE_H#define NODE_H#include <cstdio>class LinkList;class Node{ friend class LinkList;

2017-03-15 16:00:01 403

原创 数据结构实现中遇到的问题

1.如果要将一个类单独定义在一个文件中,而在另一个文件中使用它,有以下几种方法。<1>如果类的声明在.h文件中,而类的实现.cpp文件中声明该.h文件,那么在要使用这个类的文件中声明该类的.cpp实现文件,就能够使用了。即#include “**.cpp”。<2>如果类的声明在.h文件,而类的实现.cpp文件中没有声明该.h文件,那么在使用的时候.h和.cpp文件就都要进行声明<3>也可以将类的声明

2017-03-15 02:07:34 1781

原创 顺序表的实现

实际上只是起到数组的作用,但是还是完成了它的类实现//Sequence_List.h文件//顺序表类的声明//基本操作:初始化、查询、插入、删除、打印 #ifndef SEQUENCE_LIST_H#define SEQUENCE_LIST_Hclass Sequence_List{ private: int *array;

2017-03-15 01:18:32 404

原创 数组解简单多次递归

OJ题:超级台阶 时间限制:1000 ms | 内存限制:65535 KB 难度:3 描述 有一楼梯共m级,刚开始时你在第一级,若每次只能跨上一级或二级,要走上第m级,共有多少走法?注:规定从一级到一级有0种走法。输入 输入数据首先包含一个整数n(1<=n<=100),表示测试实例的个数,然后是n行数据,每行包含一个整数m,(1<=m<=40), 表示楼梯的级数。输出 对于每个测试实

2017-03-06 21:12:26 575

原创 蛮力法习题

1.分式化简。设计算法,将一个给定的真分数化简为最简分数形式。例如将6/8化简为3/4。2.设计算法,判断一个大整数能否被11整除。可以通过以下方法:将该数的十进制表示从右端开始,每两位一组构成一个整数,然后将这些数相加,判断其和能否被11整除。3.数字游戏。把数字1、2、……、9这9个数字填入以下加减乘除四则运算式中,使得该等式成立。要求9个数字仅出现1次,且数字1不能出现在乘和除的第一位中。

2017-03-06 02:05:47 8409 2

原创 串匹配问题的BF算法和KMP算法

习题:假设在文本“ababcabccabcacbab”中查找模式“abcac”,写出分别采用BF算法和KMP算法的串匹配过程。 1.BF算法:#include <iostream>using namespace std;int BF(char S[],char T[]){ int index=0; int i(0),j(0); while((S[i]!='\0'&&T

2017-03-06 01:55:13 6657 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除