sjtu_chenchen
硕士毕业于上海交通大学,先后就职于各类大厂,在java、devops、大数据实时计算方向有深入的研究
展开
-
Leetcode || Reverse Integer
package pack;class Solution { public int reverse(int x) { if(x > 0) { return reverse_p(x); } else if(x == 0) { return x; } else原创 2015-10-23 11:11:22 · 372 阅读 · 0 评论 -
链表java与c++实现
package pack;class Node { int num; //数据域 Node next; //指针域 Node(int num) { this.num = num; } }class List { Node head = null; //头结点 Node tail = null; //尾结点 static in原创 2015-09-24 14:49:27 · 709 阅读 · 0 评论 -
《深入理解java虚拟机》之类加载机制
类的加载类加载有三种方式: 1、命令行启动应用时候由JVM初始化加载 2、通过Class.forName()方法动态加载 3、通过ClassLoader.loadClass()方法动态加载public class HelloWorld { public static void main(String[] args) throws ClassNotFoundException原创 2015-10-14 17:58:52 · 503 阅读 · 0 评论 -
《深入理解java虚拟机》之字节码执行引擎
执行引擎: 解释执行 编译执行栈帧: 局部变量表 以变量槽slot为最小单位 第0位索引的slot默认为this slot可以重用 操作栈 Code属性中max_stacks设置了最大深度原创 2015-10-14 20:13:07 · 738 阅读 · 0 评论 -
Leetcode || Roman to Integer
package pack;/* * 从前向后遍历罗马数字,如果某个数比前一个数小,则加上该数。 * 反之,减去前一个数的两倍然后加上该数。 */class Solution { private int getInteger(char ch) { switch(ch) { case 'I' : return 1; c原创 2015-10-29 12:03:08 · 330 阅读 · 0 评论 -
mapreduce wordcount案例
//---------------------WCmapper.java-------------------package pack1;import java.io.IOException;import org.apache.hadoop.io.LongWritable;import org.apache.hadoop.io.Text;import org.apache.hadoop.ma原创 2015-10-28 22:30:05 · 446 阅读 · 0 评论 -
Leetcode || Integer to Roman
Given an integer, convert it to a roman numeral.Input is guaranteed to be within the range from 1 to 3999.package pack;class Solution { public String intToRoman(int num) { int[] d = new int原创 2015-10-29 09:56:08 · 355 阅读 · 0 评论 -
Leetcode || Longest Common Prefix
Write a function to find the longest common prefix string amongst an array of strings.Subscribe to see which companies asked this questionclass Solution { public String longestCommonPrefix(Stri原创 2015-10-29 19:17:18 · 351 阅读 · 0 评论 -
《深入理解java虚拟机》之类文件结构
Java虚拟机语言无关性Java Class文件结构1,头4个字节为魔数,用于确定这个文件是否为一个能被虚拟机接受的Class文件,值为:0xCAFEBABE2,紧接着4个字节,5,6字节是次版本号,7,8字节是主版本号。高版本的JDK能向下兼容以前版本的Class文件,但不能运行以后版本的Class文件,即使文件格式并未发生变化。3,紧接着主次版本号之后的是常量池入口,1,常量池是Class文件结原创 2015-10-14 14:23:42 · 517 阅读 · 0 评论 -
Leetcode || Container With Most Water
Given n non-negative integers a1, a2, …, an, where each represents a point at coordinate (i, ai). n vertical lines are drawn such that the two endpoints of line i is at (i, ai) and (i, 0). Find two lin原创 2015-10-29 10:13:32 · 369 阅读 · 0 评论 -
dhfs客户端编写
//在src下导入core-site.xml和hdfs-site.xmlpackage pack;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;import org.apache.commons.compress.utils.IOUtils;impo原创 2015-10-28 22:20:30 · 627 阅读 · 0 评论 -
验证码图片生成类
package cn.itcast.image;import java.awt.BasicStroke;import java.awt.Color;import java.awt.Font;import java.awt.Graphics2D;import java.awt.image.BufferedImage;import java.io.IOException;import jav原创 2015-10-12 22:47:56 · 542 阅读 · 0 评论 -
Leetcode || Search for a Range
Given a sorted array of integers, find the starting and ending position of a given target value.Your algorithm’s runtime complexity must be in the order of O(log n).If the target is not found in the ar原创 2015-11-12 10:56:13 · 380 阅读 · 0 评论 -
Leetcode || Substring with Concatenation of All Words
You are given a string, s, and a list of words, words, that are all of the same length. Find all starting indices of substring(s) in s that is a concatenation of each word in words exactly once and wit原创 2015-11-09 12:26:48 · 353 阅读 · 0 评论 -
Leetcode || String to Integer (atoi)
Implement atoi to convert a string to an integer.Hint: Carefully consider all possible input cases. If you want a challenge, please do not see below and ask yourself what are the possible input cases.N原创 2015-10-23 12:38:51 · 346 阅读 · 0 评论 -
Leetcode || ZigZag Conversion
package pack;class Solution { public String convert(String s, int numRows) { String str = ""; if((s==null || s.isEmpty()) || s.length()==1 || numRows==1) { return s;原创 2015-10-23 09:59:24 · 376 阅读 · 0 评论 -
Leetcode || Longest Substring Without Repeating Characters
Given a string, find the length of the longest substring without repeating characters. For example, the longest substring without repeating letters for “abcabcbb” is “abc”, which the length is 3. For “原创 2015-10-17 16:04:06 · 344 阅读 · 0 评论 -
Leetcode || Longest Palindromic Substring
Given a string S, find the longest palindromic substring in S. You may assume that the maximum length of S is 1000, and there exists one unique longest palindromic substring. class Solution { publ原创 2015-10-21 10:11:07 · 352 阅读 · 0 评论 -
LeetCode || Two Sum
Given an array of integers, find two numbers such that they add up to a specific target number.The function twoSum should return indices of the two numbers such that they add up to the target, where in原创 2015-10-15 20:20:44 · 367 阅读 · 0 评论 -
Leetcode || Palindrome Number
Determine whether an integer is a palindrome. Do this without extra space.Some hints: Could negative integers be palindromes? (ie, -1)If you are thinking of converting the integer to string, note the原创 2015-10-25 20:16:19 · 398 阅读 · 0 评论 -
原型模式
概念Prototype模式是一种对象创建型模式,它采取复制原型对象的方法来创建对象的实例。使用Prototype模式创建的实例,具有与原型一样的数据。 1)由原型对象自身创建目标对象。也就是说,对象创建这一动作发自原型对象本身。 2)目标对象是原型对象的一个克隆。也就是说,通过Prototype模式创建的对象,不仅仅与原型对象具有相同的结构,还与原型对象具有相同的值。 3)根据对象克隆深度层次原创 2015-09-28 20:45:10 · 515 阅读 · 0 评论 -
java反射
package pack;import java.io.FileReader;import java.lang.reflect.Constructor;import java.lang.reflect.Method;import java.util.ArrayList;import java.util.Properties;class Person { public int age;原创 2015-09-21 12:32:05 · 379 阅读 · 0 评论 -
most of 1-1000
#define _CRT_SECURE_NO_WARNINGS#include<iostream>using namespace std;void search(int arr[] ,int len) { int a[100] = {0}; int max = 0; for (int i = 0; i < len; i++) {原创 2015-09-22 19:52:55 · 411 阅读 · 0 评论 -
JSP/JavaBean/EL
JSP三大指令1. page --> <%@page language="java" info="xxx"...%> * pageEncoding和contentType: > pageEncoding:它指定当前jsp页面的编码,一般不会有乱码!在服务器要把jsp编译成.java时需要使用pageEncoding! > contentType:它表示添加一个响应头:Conten原创 2015-10-15 09:21:58 · 537 阅读 · 1 评论 -
《深入理解java虚拟机》之内存模型与安全
不同的平台,内存模型是不一样的,但是jvm的内存模型规范是统一的。其实java的多线程并发问题最终都会反映在java的内存模型上,所谓线程安全无非是要控制多个线程对某个资源的有序访问或修改。总结java的内存模型,要解决两个主要的问题:可见性和有序性。我们都知道计算机有高速缓存的存在,处理器并不是每次处理数据都是取内存的。JVM定义了自己的内存模型,屏蔽了底层平台内存管理细节,对于java开发人员,原创 2015-10-14 22:11:07 · 2876 阅读 · 0 评论 -
Spring AOP动态代理
由jdk实现动态代理类,在方法执行前判断是否有权限执行。注:为贴代码方便,所有类在一个package.User.javapackage pack;public class User { String name = null; String password = null; User(String name, String password) { this.nam原创 2016-01-09 11:15:56 · 376 阅读 · 0 评论 -
栈-中缀转后缀及后缀计算
package cc.stack.application;import java.util.Stack;/* 8+(3-1)*5 --> 831-5*+ * * 1.优先级比较 * * 2.中缀转后缀 * 如果是"(",直接入栈 * 如果是")",依次从stack中pop出,并加到list中,直到遇到"(" * 如果是"+""-""*"/",与栈原创 2016-01-09 19:45:50 · 517 阅读 · 0 评论 -
二叉树
package cc.tree.application;import java.util.LinkedList;import java.util.Queue;import java.util.Stack;class Node { char val; Node lchild; Node rchild; public Node(char var) {原创 2016-01-10 17:59:15 · 383 阅读 · 0 评论 -
二叉查找树
package cc.stack.application;class Node { int val; Node lchild; Node rchild; public Node(int var) { this.val = var; }}public class Main1 { /* * 若二叉树是空树,则查找失败 *原创 2016-01-10 21:08:57 · 467 阅读 · 0 评论 -
Spring 简单IOC实现
PersonDao.javapackage cn.cc.pack;public interface PersonDao { public void add();}PersonDaoBean.javapackage cn.cc.pack;public class PersonDaoBean implements PersonDao { public void add(){原创 2016-04-11 22:21:50 · 401 阅读 · 0 评论 -
java反射效率及优化
看了些博客,自己试一下并总结,如下:import java.lang.reflect.Method;import java.util.Date;class DemoClass{ public String firstName; private String endName; private Date birthDay; private String原创 2016-05-04 15:25:30 · 6214 阅读 · 3 评论 -
jdk安装后没有配置环境变量也可以java -version
jdk安装后,没有配置环境变量,打开dos,输入java -version也可以显示java版本信息。 原因是:jdk安装过程,java、javaw、javaws三个命令被复制到C:\windows\system32目录下。 所以,如果运行命令javac,会提示“javac不是内部或外部命令”。原创 2017-04-08 15:32:07 · 5355 阅读 · 0 评论 -
身份证验证java工具类(纠正网上流行代码错误)
参考网上代码,不过网上代码全部是拷贝的,纠正下,身份证前2位代表地区,64是青海,65是新疆。。。以下代码已纠正并测试/** * 身份证验证的工具(支持5位或18位省份证) 身份证号码结构: 17位数字和1位校验码:6位地址码数字,8位生日数字,3位出生时间顺序号,1位校验码。 * 地址码(前6位):表示对象常住户口所在县(市、镇、区)的行政区划代码,按GB/T2260的规定执行。 * 出生日原创 2017-11-02 20:21:09 · 567 阅读 · 1 评论 -
netty服务端启动原理
【创建服务端channel】ChannelFuture f = b.bind(port).sync(); ChannelFuture regPromise = this.initAndRegister();//初始化并注册 Channel channel = this.channelFactory().newChannel();//创建服务端Channel ...原创 2018-07-24 16:31:50 · 435 阅读 · 0 评论 -
dubbo服务引用调用原理
所有的dubbo自定义标签都会由DubboNamespaceHandler处理registerBeanDefinitionParser("reference", new DubboBeanDefinitionParser(ReferenceBean.class, false));ReferenceBeanpublic class ReferenceBean<T> ext...原创 2018-08-31 10:18:19 · 2207 阅读 · 0 评论 -
排序
#define _CRT_SECURE_NO_WARNINGS#include<iostream>using namespace std;void swap(int *a, int *b) { *a = *a ^ *b; *b = *a ^ *b; *a = *a ^ *b;}//插入排序//比如 49, 38, 65, 97, 76, 13, 27。当i指向76时原创 2015-09-26 20:40:09 · 399 阅读 · 0 评论 -
控制反转与依赖注入
控制的什么被反转了?就是:获得依赖对象的方式反转了。 依赖xml注入对象,改xml不改代码。通俗好文转载链接:http://blog.csdn.net/it_man/article/details/44022451.简介依赖注入和控制反转,目的是为了使类与类之间解耦合,提高系统的可扩展性和可维护性,下面通过一个例子来引入这一概念。2.案例1)一般情况下的类耦合Main.javapublic cla转载 2015-12-16 19:10:09 · 395 阅读 · 0 评论 -
JSTL
jstl库1. jstl的概述 * apache的东西,依赖EL * 使用jstl需要导入jstl1.2.jar * 四大库: > core:核心库,重点 > fmt:格式化:日期、数字 > sql:过时 > xml:过时2. 导入标签库 * jar包 * 在jsp页面中:<%@taglib prefix="前缀" uri="路径"%>------原创 2015-10-15 15:03:46 · 406 阅读 · 0 评论 -
MVC与三层框架
MVC设计模式MVC模式(Model-View-Controller)是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller)。 MVC模式最早为Trygve Reenskaug提出,为施乐帕罗奥多研究中心(Xerox PARC)的Smalltalk语言发明的一种软件设计模式。 MVC可对程序的后期维护和扩展提供了方便,并且原创 2015-10-15 15:09:21 · 448 阅读 · 0 评论 -
Leetcode || 3Sum Closest
Given an array S of n integers, find three integers in S such that the sum is closest to a given number, target. Return the sum of the three integers. You may assume that each input would have exactly原创 2015-10-30 12:03:33 · 434 阅读 · 0 评论