标签归档:java

Java人员必须要会的10个技能

以下为java大数据计算招聘公司排行前10的技能
 Spring 299 MySQL 290 JavaScript 216 Linux 165 J2EE 151 设计模式 148 Struts2 138 Hibernate 132 Mybatis 130 jQuery 128 这是从450家企业的招聘信息中统计而来,月小升博客觉得还是比较真实的,虽然有些公司的招聘要求万年不变,但还是可以大致反应企业的招聘要求的。 尽管Struts2漏洞频出,但是由于政府、银行以及传统企业遗留项目大部分还是采用Struts2的,所以还是占有一定市场,但绝壁不会增长。新兴互联网公司,一般来说主要是Spring家族居多,spring、spring Mvc以及Spring Boot 出现的频率较多。 从图中可以看出,分布式服务框架应用也是大部分企业招聘的必要条件了,阿里系的Dubbo名列前茅。相应的分布式应用程序协调服Zookeeper也出现在其中。 时下很流行的RESTful架构,准确的来说它是一种标准。也是很多企业考察的对象。 以下是出现次数超过100的一些技能,大家可以做一个参考。 Spring 299 MySQL 290 JavaScript 216 Linux 165 J2EE 151 设计模式 … 继续阅读

发表在 JAVA | 标签为 , , , , | 留下评论

java 程序员如何成长

作为刚刚进入Java领域的新同学,无论是高校的毕业大学生,还是有志转行的在职人员,都面临着诸多如下的困惑。 l 如何学习Java语言? l 在Java学习过程中需要掌握哪些技能? l 各大公司对Java开发的要求是什么? l Java 学习过程中有哪些注意事项? l Java 工程师的职业发展规划是什么? 我把Java 的学习过程分为5个阶段:理论阶段、开发阶段、进阶阶段、实战阶段以及深造阶段。 理论阶段 在具体谈论Java知识点之前,我想先跟同学们聊聊Java 语言自身的一些特点、生态系统以及适用的场景,这有助于我们更好的学习语言本身。 首先,我们从Java 语言自身的实现机制来聊聊Java 语言的一些特性: 面向对象:Java 是一门面向对象的编程语言,封装、继承、多态这些特性使得Java 语言适用于大型软件系统的研发。 跨平台:这是Java 最重要的特性之一,由于有虚拟机的支持,Java 代码可以无缝运行在任何操作系统中,无需重新编译; 透明内存管理:做C/C++的同学最头疼的事情就是内存泄漏问题,在Java中,由于虚拟机会自动回收不再使用的内存空间,所以程序员无需显式回收内存。 足够的性能:性能一直是Java为人诟病的问题之一,但是在java6 之后,随着JVM虚拟机编译优化技术的不断进步,垃圾回收算法的不断优化,Java的性能已经能够胜任绝大多数系统的要求,甚至在性能要求极为苛刻的底层系统中,我们也能看到Java的身影。 此外,Java 还有完善的生态系统: Java 拥有数量众多的第三方类库,作为一个开发者,你会发现作为一名Java程序员是一件很幸福的事情,因为很多事情别人都已经帮你做好了,你需要做的只是把别人造好的轮子组装起来,实现你的业务需求。 Java 拥有非常完善的开发环境Eclipse,集成了非常多实用的功能,且操作界面非常友好。 Java 有非常多优秀的框架,基于这些框架,可以快速开发出一个可扩展的业务系统。 Java 拥有非常活跃的社区和论坛,当你遇到问题的时候,你可以快速的得到其他人的帮助。 … 继续阅读

发表在 JAVA | 标签为 , , | 2 条评论

MAC系统查看自己的java位置

打开命令行工具 which java /usr/bin/java ls -l /usr/bin/java lrwxr-xr-x 1 root wheel 74 12 3 2015 /usr/bin/java -> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java ls -l /System/Library/Frameworks/JavaVM.framework/Versions drwxr-xr-x 8 root wheel 272 12 3 2015 A lrwxr-xr-x 1 root wheel 1 12 3 2015 Current -> … 继续阅读

发表在 JAVA, MAC | 标签为 , , | 留下评论

php-java-bridge php调用java的方法

此方法不需要重启apache,不需要修改php.ini文件 php-java-bridge 项目地址 http://php-java-bridge.sourceforge.net/pjb/download.php 下载 php-java-bridge.jar java.inc 双击php-java-bridge.jar 浏览器输入 http://localhost:8080/ 能看到下载目录的东西(因为我直接在我的下载目录双击了这个jar) 估计放在哪里双击,就会显示这个目录的所有文件。 网页底部显示这些信息 写一个php http://localhost/javaer/java.php 把下载的java.inc 放在javaer目录下 java.php 内容 <?php //define("JAVA_DEBUG", true); //调试设置 //define("JAVA_HOSTS", "127.0.0.1:8080"); //设置javabridge监听端口,如果开启javabridge.jar设置的端口不是8080,可通过此语句更改 require_once("Java.inc"); //php调用java的接口,路径问题需要注意 $here=realpath(dirname($_SERVER["SCRIPT_FILENAME"])); //java_set_library_path($here.PATH_SEPARATOR .’.'); //java_set_library_path($here.PATH_SEPARATOR .’.'); //设置java开发包(class或jar文件)路径,多个路径就用PATH_SEPARATOR分隔,保证跨平的支持。 //java_set_file_encoding("GBK"); //设置JAVA编码。没试过其它的编码,也没深入研究如何能用其它的编码。   echo ‘<meta charset="UTF-8">’; … 继续阅读

发表在 JAVA, PHP | 标签为 , , | 留下评论

对一个未知类型的数据,进行java判断

常见的情况是,我们从mysql读出了数据,批量灌入到HASHMAP里,于是这个HashMap里,有int类型,有string,有boolean,有long 下面的函数,直接判断出数据的类型,方便我们做转义的操作。之前写过一个instanceof 的专门用法。 public static <T> String getType(T t){ if(t instanceof String){ return "string"; }else if(t instanceof Integer){ return "int"; }else if(t instanceof Boolean){ return "boolean"; }else{ return " do not know"; } } 一般这么用。 Iterator iter = h.entrySet().iterator(); while … 继续阅读

发表在 JAVA | 标签为 , , , | 一条评论

Centos yum方式安装java

以前在Linux 下安装 java 都是使用下载的java包,进行安装,然后配置 今天突然脑洞一下,发现应该可以用yum 结果一下子 yum install java 给我默认安装了一个java1.5,我的心顿时碎了 查看CentOS自带JDK是否已安装。 ◆输入:yum list installed |grep java。 若有自带安装的JDK,如何卸载CentOS系统自带Java环境? ◆卸载JDK相关文件输入:yum -y remove java-1.7.0-openjdk*。 ◆卸载tzdata-java输入:yum -y remove tzdata-java.noarch。 当结果显示为Complete!即卸载完毕。 注:“*”表示卸载掉java 1.7.0的所有openjdk相关文件。 检查CentOS系统网络连接是否正常。 ◆使用yum方式安装需要连接网络下载Java相应安装文件,故此需要使用ping命令测试网络;如:ping 百度URL即可。 查看yum库中的Java安装包。 ◆输入:yum -y list java* 。 使用yum安装Java环境。 ◆输入:yum -y … 继续阅读

发表在 JAVA, Linux | 标签为 , , , | 3 条评论

Java多线程中的wait与notify,notifyall

在Java多线程编程中,wait()的作用的是让当前线程进入阻塞状态,notify()是让当前线程唤醒继续执行。虽然是对线程状态的控制,但它们其实都是Object中的方法,这是因为wait与notify所起的作用与线程间的互斥锁有关。 在执行wait()和notify()之前,必须要先获得互斥锁,即一定要和synchronized一起使用。wait()的含义是让出获得的互斥锁,并让自己进入阻塞状态。在notify()的时候也已经获得了互斥锁,所做的事情就是唤醒当前线程继续执行。 假如synchronized的锁对象是obj的话,wait和notify正确的使用方法是obj.wait()和obj.notify()。如果使用this作为锁,则可以直接写成wait()和notify()。如果前后使用的锁对象不一致,会发生IllegalMonitorStateException。 当有多个线程共同使用一个互斥锁时,notify()会随机选取一个执行过wait()的线程唤醒,其余会继续保持阻塞状态。如果想唤醒所有阻塞的进程,就使用到了notifyAll()。 有点晕了么,把代码拿去执行可以好好体会下,一会看完代码,看结论 package com.javaer.thread;   public class Twait {   public static void main(String[] args) { TestThread testThread1 = new TestThread(); TestThread testThread2 = new TestThread(); TestThread testThread3 = new TestThread();   testThread1.start(); testThread2.start(); testThread3.start();   System.out.println("主线程休眠5秒"); … 继续阅读

发表在 WEB前端 | 标签为 , , , , , , , | 留下评论

java多线程,让步yield

先看个yield让步的例子 package com.javaer.thread;   public class YThread implements Runnable { private Object obj = new Object();   /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub YThread s = new YThread(); Thread t1 … 继续阅读

发表在 JAVA | 标签为 , , , | 2 条评论

java多线程,同步与锁

线程的同步和锁的问题,我们先来看个例子, 下面的例子我们希望两个线程对m变量进行削减 package com.javaer.thread; /** * 测试线程同步锁的问题 * @author yuexiaosheng * */ public class SysTest implements Runnable { int m = 10;   public static void main(String[] args) { SysTest s1= new SysTest(); Thread t1 = new Thread(s1, "Thread-t1"); Thread … 继续阅读

发表在 JAVA | 标签为 , , , | 一条评论

java采用Runnable 实现多线线程

使用实现Runnalbe可以做出一个多线程,之前我们采用继承Thread的办法也做出一个。 public class TestMitiThread1 implements Runnable {   public static void main(String[] args) { System.out.println(Thread.currentThread().getName() + " 线程运行开始!"); TestMitiThread1 test = new TestMitiThread1(); Thread thread1 = new Thread(test); Thread thread2 = new Thread(test); thread1.start(); thread2.start(); System.out.println(Thread.currentThread().getName() + " 线程运行结束!"); } … 继续阅读

发表在 JAVA | 标签为 , , , | 一条评论