glmapper

glmapper

从程序的世界中全身而退

菜鸟成长系列-概述
前言作为渣硕一枚,毕业时一线互联网公司招聘基本没有参与过,等回过神准备参加,春招都快结束了【17年毕业】;跌跌撞撞面了几家公司,虽然被虐,但是基本上都给了Offer,几番比较之后到了苏宁,选择做一枚金融码农。虽然网上关于在苏宁做IT有着不同的看法,有好有坏,褒贬不一,但就我而言,作为新人,苏宁还是给我提供了不错的工作和学习环境【入职快4个月了】。言归正传,作为一个初入职场的新人,面对很多复杂的业务场景,不同的开源技术的使用,一开始确实有点“慌”,但是随着慢慢的渗入,从能够将一个项目成功跑起来,到对着详设给代码加注释,到自己去画某一条业务线的流程图,到第一次独立完成一个需求,再到不断的去发...
项目开发框架-SSM
1.Spring无需多言,作为开源届数一数二的典例,项目开发中无处不在;核心IOC容器,用来装载bean(java中的类)-用Spring的IOC容器来管理Bean的生命周期,有了这样一种机制,我们就可以不用在代码中去重复的做new操作。aop,面向切面编程,spring中最主要的是用于事务方面的使用。 2.Spring MVC作用于web层,相当于controller,与struts中的action一样,都是用来处理用户请求的。同时,相比于struts2来说,更加细粒度,它是基于方法层面的,而struts是基于类层面的。 3.MyBatisMyBatis 是一款优秀的持久层框架,它支持...
JAVA基础知识系列---进程、线程安全
1.1 临界区保证在某一时刻只有一个线程能访问数据的简便方法,在任意时刻只允许一个线程对资源进行访问。如果有多个线程试图同时访问临界区,那么在有一个线程进入后,其他所有试图访问临界区的线程将被挂起,并一直持续到进入临界区的线程离开。临界区在被释放后,其他线程可以继续抢占,并以此达到用原子方式操作共享资源的目的 1.2 互斥量互斥量和临界区很相似,只能拥有互斥对象的线程才能具有访问资源的权限,由于互斥对象只有一个,因此就决定了任何情况下次共享资源都不会同时被多个线程所访问。当前占据资源的线程在任务处理完后应将拥有的互斥对象交出,以便其他线程在获得后可以访问资源。互斥量比临界区复杂,因为使用...
聊一聊 Web 核心 - Servlet
Servlet实际上是ServerApplet–小服务程序或服务连接器,用Java编写的服务器端程序,主要功能在于交互式地浏览和修改数据,生成动态Web内容。与常用的协议,如DNS,TCP/IP,HTTP类似,Servlet是作为一整套规范存在的;同时作为J2EE标准的一部分,定义了javaweb开发的标准。Servlet制定了java处理WEB请求的一系列标准,我们只需要按照标准规定的去做就可以了。实际上,无论是Struts2的FilterDispatcher还是SpringMvc的DispatcherServlet,其底层都是通过实现Sevlet或者Servlet类型的扩展【如:Ge...
Spring源码系列:Spring的启动过程
Spring对于程序员说来说都不陌生;作为一个强大的开源技术,帮助我们能够更好的进行项目的开发与维护。直接进入主题吧。Spring的启动过程实际上就是Ioc容器初始化以及载入Bean的过程;本文主要是学习记录下前半部分(Ioc容器的初始化),新手上路,如有错误,请指正!1.从配置文件说起 12345678<listener> <listener-class>org.springframework.web.context.ContextLoaderListener </listener-class> </listener>...
JAVA中的关键字
Java中关键字有51个,另外还有俩个保留字;因此总共有53个。本文只将java中的关键字进行罗列和简单介绍,对于部分关键字的理解如sychronized将在其他文章中单独分析。 保留字保留字是指预留的关键字; const用于修饰字段或局部变量的声明;被const修饰的字段或局部变量的值是常数,不能被修改 goto指定跳转到标签,找到标签后,程序将处理从下一行开始的命令。 关键字 数据类型 访问修饰符 类、接口定义相关 流程控制与判断相关 包 变量\类\接口\方法修饰符 异常处理 枚举和断言
每天一道算法题:无重复字符的最长子串
题目给定一个字符串,找出不含有重复字符的 最长子串 的长度。 示例: 给定 “abcabcbb” ,没有重复字符的最长子串是 “abc” ,那么长度就是3。 给定 “bbbbb” ,最长的子串就是 “b” ,长度是1。 给定 “pwwkew” ,最长子串是 “wke” ,长度是3。请注意答案必须是一个子串,”pwke” 是 子序列 而不是子串。 方案1思路: 字符对应的数字作为下标 初始化一个255的boolean作为所有可能出现的字符对应的存在可能性,不存在重复的均为false,存在重复的,则对应的下标置为true。 两个指针进行移动,前指针先不动,后指针移动并根据当前...
每天一道算法题:求两个排序数组的中位数
题目有两个大小为 m 和 n 的排序数组 nums1 和 nums2 。 请找出两个排序数组的中位数并且总的运行时间复杂度为 O(log (m+n)) 。 示例1: 1234nums1 = [1, 3]nums2 = [2]中位数是 2.0 示例2: 12345nums1 = [1, 2]nums2 = [3, 4]中位数是 (2 + 3)/2 = 2.5 归并&topK问题 方案1这个思路就是对于两个有序数组进行合并,合并到一个大的有序的数组中去,然后求合并后数组的中位数。下面代码中使用的是归并排序的方式,对于两个有序数组进行归并排序的。从复杂度的角度来说可以满足题目的要求...
每天一道算法题:最长回文子串
##题目给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 长度最长为1000。 示例: 12345输入: "babad"输出: "bab"注意: "aba"也是有效答案 示例: 123输入: "cbbd"输出: "bb" 思路一开始是想用最笨的方法来解的,也就是找出所有的字串,然后再对所有的子串进行回文检测,并记录长度。这种方式时间复杂度可想而知,O(n)O(n)O(n)=O(n^3)。所以这种肯定是不能满足我们要求的。 ok,那我们来分析一下这个问题,先把这个问题特殊化; ...
每天一道算法题:Z字形转换
题目将字符串 “PAYPALISHIRING” 以Z字形排列成给定的行数:(下面这样的形状) 123P A H NA P L S I I GY I R 之后按逐行顺序依次排列:”PAHNAPLSIIGYIR” 实现一个将字符串进行指定行数的转换的函数: 1string convert(string text, int nRows); convert(“PAYPALISHIRING”, 3) 应当返回 “PAHNAPLSIIGYIR” 。 方案1234567891011121314151617181920212223242526272829303132333435363...
avatar
Glmapper@leishu
分享与学习