`
文章列表
平时工作中定位问题时,查看日志用的最多的就是less和tail命令:   1.less命令   less 文件名 ====查看日志 less 文件名 | grep -n  筛选内容 ============根据内容进行筛选显示,同时也显示行号 d====向下翻页 u====向上翻页 g====跳到首行 G===跳到底部 ?查找内容====向上查找 /查找内容=====向下查找 n=====下一个 N====上一个 q====退出   2.tail命令 tail -f 文件名========实时查看 tail -200f 文件名======实时查看后200行 ...
使用的是  Wizard研发管理-平安云 (统一代码管理平台)来管理code:   1.安装好git客户端,点击“Git Gui Here”,选择“Help”->show ssh key,生成密钥 2.登陆统一代码管理平台,将密钥添加 3.选择一个代码分支,复制ssh URL:如 ssh://git@code.paic.com.cn:8005/my/my-project.git 4.打开Git Gui Here,切换到D:\zan,git clone ssh://git@code.paic.com.cn:8005/my/my-project.git   (git ini ...
掌握以下快捷键的使用,在开发中足矣(这也是我在使用idea中用的最多的): 1. -----------自动代码-------- fori/sout/psvm+tab即可生成循环、System.out、main方法等boilerplate样板代码 Ctrl+Alt+O 优化导入的类和包 Alt+Insert 生成代码(如get,set方法,构造函数等)或者右键(Generate) fori/sout/psvm + Tab Ctrl+Alt+T 生成try catch 或者 Alt+enter Ctrl + O 重写方法 Ctrl + I 实现方法 Ctrl+sh ...
做项目的感想: 1.尽量用项目中已经封装好的工具类,切忌自己又去写(减少垃圾代码),使代码更规范 2.了解性能及原理,用好API,就是在减少bug的出现,避免踩坑 package com.pingan.scf.core.server.util; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import org.apache.commons.collections.MapUtils; import java.math.BigDecimal; i ...
hashMap的实现是由数组和链表,数据结构是"链表散列" 1.准备数据 实体类Info package com.gwzan.map; /** * 员工信息类 * @author zan * */ public class Info { private String key; private String name; public Info(String key,String name){ this.key=key; this.name=name; } public String ge ...
线程同步,要确保业务完整性(原子性),多个方法都要使用synchronized,否则会出现脏读问题   demo:      package com.zan; /** * 保持业务整体完整,都要使用synchronized,来确保原子性 */ public class DirtyRead { private String username = "lisi"; private String password = "123456"; public synchronized void setValue(Strin ...
同步需加synchronized关键字,同步是为了线程安全,而线程安全需要满足两个特性:原子性,可见性 示例: package com.zan; // 对象锁的同步和异步问题 public class TestObject { public synchronized void method1(){ try { System.out.println(Thread.currentThread().getName()); Thread.sleep(5000); } catch (InterruptedException e) { ...
多个线程多个锁,一个对象就有一把锁 类锁,static修饰      示例:   package com.zan; /** * 关键字synchronized取得的锁都是对象锁,而不是把一段代码(方法)当做锁, * 所以代码中哪个线程先执行synchronized关键字的方法,哪个线程就持有该方法所属对象的锁(Lock), * * 在静态方法上加synchronized关键字,表示锁定.class类,类一级别的锁(独占.class类)。 * */ public class MultiThread { private static int n ...
线程安全:当多个线程访问同一个类时,这个类始终表现出正确的行为 synchronized :可在任意方法或对象上加锁   一.extends Thread package com.zan; public class TestThread extends Thread{ private int count = 5 ; //synchronized加锁 ,实现线程同步 //加锁的这段代码称为:互斥区或临界区 public void run(){ //也可在直接方法上加synchronized synchronized (this) ...
springboot可实现快速开发,其中提供了spring-boot-starter-web为web开发提供了支持,它为我们提供了嵌入的tomcat和springmvc的依赖 thymeleaf是一个java类库,是xml/xhttml/html5的模板引擎,可作为MVC的web应用的view层。也是在springboot开发中推荐采用的 1.构建一个springboot项目    选择Spring Starter Project新建项目,同时选择web和thymeleaf依赖    pom.xml: <?xml version="1.0" encod ...
Interceptor拦截器实现对每一个请求处理前后进行相关的业务,类似于servlet的Filter 普通的Bean去继承HandlerInterceptorAdapter或实现HandlerInterceptor来自定义拦截器 通过重写WebMvcConfigurerAdapter的addInterceptors方法来注册自定义的拦截器 示例如下: 在“springmvc简单构建一个项目(一)”的基础上增加以下这些:   1.自定义拦截器 package com.zgw.springmvc; import javax.servlet.http.HttpServle ...
Springmvc提供了一个DispatcherServlet来开发web应用 这里采用Sevlet3.0+无web.xml的配置方式,实现WebApplicationInitializer接口替代web.xml maven构建零配置的springmvc原型项目 1.构建maven项目    pom.xml: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:sche ...
spring里的事件为bean与bean间消息通信提供了支持,我们希望在一个bean处理完一个任务后,通知其他的bean做相应的事,此时就需要另外的Bean去监听当前bean所发生的事件 定义spring的事件需做以下几件事: 自定义事件,继承Appl ...
spring中通过@EnableScheduling来开启对定时任务的支持 然后通过@Scheduled声明,它支持多种类型的定时任务,包含cron,fixDelay,fixRate等     实例如下:   定时任务执行类 package com.zgw.taskscheduler; import java.text.SimpleDateFormat; import java.util.Date; import org.springframework.scheduling.annotation.Scheduled; import org.springfram ...
Spring通过任务执行器(TaskExecutor)来实现多线程和并发编程的 可使用ThreadPoolTaskExecutor来实现基于线程池的TaskExecutor 在实际开发中由于多是异步,所以使用@EnableAsync来支持异步任务,且要在Bean的方法中使用@Async来声明其是一个异步任务       以下实例:     配置类 package com.zgw.taskexecutor; import java.util.concurrent.Executor; import org.springframework.aop.interceptor ...
Global site tag (gtag.js) - Google Analytics